Уведомления Home Assistant: push, Android, iPhone и кнопки

Практический гид · Home Assistant · Companion App

Уведомления Home Assistant: push на Android и iPhone, кнопки действий и диагностика

Как отправлять уведомления на телефон, различать обычные и критичные события, добавлять кнопки, показывать кадр с камеры и находить причину, по которой сообщение не пришло. С примерами YAML для Home Assistant и рекомендациями по безопасности.

AndroidiPhonePushActionableCriticalYAML
Сообщение

Home Assistant создаёт событие, Companion App доставляет его на телефон через доступный канал.

Кнопки действий

Нажатие кнопки возвращает событие в Home Assistant, где его обрабатывает автоматизация.

Не система безопасности

Push зависит от телефона, сети, ОС и доставки; аварийная защита должна работать самостоятельно.

Принцип

Как работает доставка уведомлений Home Assistant

Уведомление начинается не в телефоне, а с события в системе. Например, binary_sensor.leak_bathroom изменил состояние, автоматизация отправила действие notify.mobile_app_…, а Companion App показал сообщение на экране смартфона.

Датчик→Trigger / automation→notify.mobile_app→Доставка→Телефон

Для удалённых push обычно используется инфраструктура мобильной ОС и сервиса доставки приложения. В локальной сети Home Assistant Companion App также умеет использовать Local Push через WebSocket при выполнении требований платформы. Эти способы нельзя считать абсолютно одинаковыми по требованиям к соединению и задержкам.

ТипГде появляетсяПодходит для
Mobile pushСистемные уведомления Android/iOSПротечка, дверь, температура, состояние котла
Persistent notificationИнтерфейс Home AssistantЖурнал событий, заметки и диагностика
Actionable notificationСистемное уведомление с кнопкамиПодтвердить просмотр, открыть панель, запустить некритичное действие
Live Activity / Live UpdateЭкран блокировки и системная область уведомленийНаблюдение за длительным процессом на поддерживаемых устройствах

Подготовка

Что нужно настроить на телефоне

  1. Установить официальное приложение Home Assistant Companion App и войти в свой Home Assistant.
  2. Разрешить приложению уведомления в настройках Android или iOS.
  3. Проверить, что телефон появился в Settings → Devices & services → Mobile App.
  4. Открыть Developer Tools → Actions и найти действие вида notify.mobile_app_имя_телефона.
  5. Отправить тестовое сообщение, затем повторить тест после отключения домашнего Wi-Fi.

Имя действия формируется из зарегистрированного Device ID. Оно не обязано совпадать с отображаемым именем человека. Если телефон переподключали к приложению, старое действие может перестать соответствовать новому устройству.

Первый запуск

Как отправить первое push-уведомление

Сначала проверьте само действие уведомления в Developer Tools → Actions: выберите notify.mobile_app_... и передайте title и message. Только после успешного теста создавайте автоматизацию.

Тестовый сценарий с helper input_booleanYAML
alias: "Тест push-уведомления"
triggers:
  - trigger: state
    entity_id: input_boolean.test_push
    to: "on"
actions:
  - action: notify.mobile_app_phone_ivan
    data:
      title: "Home Assistant"
      message: "Тестовое уведомление доставлено"
mode: single

Создайте helper input_boolean.test_push, замените notify.mobile_app_phone_ivan на своё действие и переведите helper из off в on. Повторный переход в on без смены состояния не запустит trigger. Перед повторной проверкой верните helper в off.

Событие

Уведомление о протечке: минимальный рабочий сценарий

Для binary_sensor протечки типичны состояния on (обнаружена вода) и off. У отдельных интеграций значение может отличаться, поэтому сначала смотрите фактическое состояние в Developer Tools.

Отправка сообщения при появлении водыYAML
alias: "Протечка: сообщить на телефон"
triggers:
  - trigger: state
    entity_id: binary_sensor.leak_bathroom
    to: "on"
actions:
  - action: notify.mobile_app_phone_ivan
    data:
      title: "Внимание: датчик протечки"
      message: "Проверьте санузел и состояние крана"
      data:
        tag: "leak_bathroom"
mode: single

В примере отправляется только информация. Он не подменяет штатную автоматику перекрытия воды. Защита от протечек должна принимать необходимые решения локально, даже если Home Assistant или телефон недоступны.

Световые, климатические и противопротечные сценарии подробнее разобраны в статье Локальные сценарии Home Assistant.

Получатели

Как отправлять уведомления нескольким людям

Для семьи можно отправить два отдельных действия notify.mobile_app_..., либо использовать notification group. В небольшой системе отдельные действия проще диагностировать: видно, какой телефон получил уведомление и у какого возникла проблема.

ВариантПлюсыОграничение
Отдельное действие на каждый телефонПонятная диагностика получателяПовторение action в YAML
Notification groupОдна точка отправкиНужно поддерживать список устройств
Persistent notificationНезависимость от номера телефонаПользователь увидит запись только в интерфейсе HA

Не отправляйте одинаковые аварийные push на все зарегистрированные устройства, включая настенный планшет, старый смартфон и тестовые телефоны. Проверьте получателей и оставьте только актуальные устройства.

Порядок в уведомлениях

Как заменить старое уведомление и убрать его после события

Параметр tag позволяет обновлять ранее отправленное сообщение с тем же идентификатором. Например, «Протечка: обнаружена вода» не должна создавать новую запись при каждом повторении события. Когда проблема исчезла, можно отправить специальную команду clear_notification с тем же тегом.

Удаление уведомления после нормализации датчикаYAML
alias: "Протечка устранена: убрать push"
triggers:
  - trigger: state
    entity_id: binary_sensor.leak_bathroom
    to: "off"
actions:
  - action: notify.mobile_app_phone_ivan
    data:
      message: "clear_notification"
      data:
        tag: "leak_bathroom"
mode: single

Для очистки должен использоваться тот же тег, который был у исходного уведомления. Возможности обновления и удаления отличаются между Android и iOS; на некоторых версиях системы очистка может не сработать, если приложение давно не использовалось.

Actionable

Как добавить в push кнопки «Проверил» и «Открыть датчик»

Actionable notification содержит кнопки, которые отправляют событие в Home Assistant либо открывают страницу приложения. На Android в одном уведомлении предусмотрено до трёх действий. На iOS практическое количество зависит от интерфейса ОС, поэтому обычно достаточно одной-двух кнопок.

Уведомление с двумя действиямиYAML
alias: "Кнопки в уведомлении о протечке"
triggers:
  - trigger: state
    entity_id: binary_sensor.leak_bathroom
    to: "on"
actions:
  - action: notify.mobile_app_phone_ivan
    data:
      title: "Обнаружена вода"
      message: "Откройте датчик или подтвердите просмотр"
      data:
        tag: "leak_with_actions"
        actions:
          - action: "ACK_LEAK_DEMO"
            title: "Проверил"
          - action: "URI"
            title: "Открыть датчик"
            uri: "entityId:binary_sensor.leak_bathroom"
mode: single

Кнопка URI открывает карточку датчика в приложении; кнопка ACK_LEAK_DEMO отправляет событие mobile_app_notification_action. Нажатие кнопки «Проверил» не перекрывает воду и не снимает сигнал тревоги.

Событие

Как обработать нажатие кнопки уведомления

После нажатия кнопки с пользовательским action ID Companion App отправляет событие mobile_app_notification_action. Следующая автоматизация слушает конкретное значение action и создаёт запись внутри Home Assistant.

Действие в ответ на кнопку «Проверил»YAML
alias: "Кнопка Проверил: записать подтверждение"
triggers:
  - trigger: event
    event_type: mobile_app_notification_action
    event_data:
      action: "ACK_LEAK_DEMO"
actions:
  - action: persistent_notification.create
    data:
      title: "Подтверждение от телефона"
      message: "Пользователь нажал кнопку уведомления"
mode: single

Идентификатор ACK_LEAK_DEMO специально постоянный, чтобы упростить пример. В серьёзных сценариях используйте уникальный action ID для каждой отправки, например на основе context.id, иначе кнопка старого уведомления может совпасть с обработчиком нового события. Для связки с одним уведомлением можно использовать wait_for_trigger, таймаут и дополнительную проверку action ID.

Не путайте факт нажатия «Проверил» с проверкой на месте: Home Assistant способен подтвердить только событие нажатия.

Android

Приоритетные уведомления Android: priority, ttl, channel

Android управляет звуком и видимостью сообщений через notification channels. Если задать channel, приложение создаст соответствующую категорию, а затем пользователь сможет назначить ей звук, вибрацию и другие системные параметры.

Параметры priority: high и ttl: 0 описаны в документации Companion App как способ ускорить попытку доставки push на Android при определённых состояниях энергосбережения. Они не дают гарантии доставки при отсутствии сети.

Android: высокий приоритет для события водыYAML
alias: "Android: приоритетное уведомление"
triggers:
  - trigger: state
    entity_id: binary_sensor.water_leak_kitchen
    to: "on"
actions:
  - action: notify.mobile_app_android_phone
    data:
      title: "Протечка на кухне"
      message: "Проверьте датчик и воду"
      data:
        ttl: 0
        priority: high
        channel: "Аварийные события"
mode: single

После первой отправки откройте системные настройки уведомлений Android для Home Assistant и проверьте канал «Аварийные события». На Android 8+ системный уровень важности канала и разрешения пользователя влияют на итоговое поведение. При необходимости можно использовать alarm_stream, но злоупотреблять им для обычных событий не стоит.

iPhone

Time Sensitive и Critical Alerts на iPhone

iOS различает несколько уровней вмешательства: обычные, Time Sensitive и Critical Alerts. Последний тип предназначен для редких действительно важных событий, например дыма, утечки воды или срабатывания охранного датчика. Для критических оповещений требуется разрешение, а поведение зависит от настроек устройства.

iOS: пример Critical AlertYAML
alias: "iPhone: критическое уведомление"
triggers:
  - trigger: state
    entity_id: binary_sensor.water_leak_kitchen
    to: "on"
actions:
  - action: notify.mobile_app_iphone
    data:
      title: "Внимание: протечка"
      message: "Проверьте кухню"
      data:
        push:
          sound:
            name: default
            critical: 1
            volume: 1.0
mode: single

Пример задаёт системный звук с признаком critical: 1 и громкостью 1.0. Используйте его только на iOS, где критические уведомления разрешены. Даже они не могут доставить сигнал при разряженном телефоне, выключенной сети или отказе инфраструктуры.

Камеры

Push с фотографией камеры или входной двери

Companion App поддерживает вложения: фотографию, видео и другие подходящие форматы. Наиболее безопасный путь для снимков - media_source с адресом вида /media/local/front_door.jpg. Такой путь использует авторизованный доступ через Home Assistant, в отличие от публично доступной папки /local/.

Уведомление со снимком, уже сохранённым в MediaYAML
alias: "Уведомление с фотографией входа"
triggers:
  - trigger: state
    entity_id: binary_sensor.front_door
    to: "on"
actions:
  - action: notify.mobile_app_iphone
    data:
      title: "Открыта входная дверь"
      message: "Посмотреть снимок входной камеры"
      data:
        image: "/media/local/front_door.jpg"
        url: "/dashboard-security/entrance"
mode: single

Перед использованием примера необходимо реально создать файл /media/front_door.jpg или настроить отдельное действие camera.snapshot, которое сохраняет снимок по этому пути. Без файла изображение не появится. Для просмотра снаружи телефон должен иметь доступ к Home Assistant; вложение должно быть доступно в момент загрузки.

Если камеры управляются Frigate, сначала настройте локальную видеоаналитику и доступ к снимкам: Frigate NVR: настройка видеонаблюдения и распознавания объектов.

Соединение

Будут ли приходить уведомления без интернета

Не все уведомления требуют одинакового маршрута. При наличии интернета Companion App обычно использует push-инфраструктуру мобильной платформы. Локальный push может использовать WebSocket между телефоном и Home Assistant, если устройство находится во внутренней сети и Local Push доступен и активен.

УсловияОжидаемый результат
HA работает, домашний интернет есть, телефон онлайнОбычный удалённый push должен быть возможен
HA работает, интернет пропал, телефон дома в той же LANLocal Push может работать, если включён и поддерживается
HA работает, интернет пропал, телефон вне домаУдалённая доставка push может быть недоступна
HA выключенНовые автоматизации и новые отправки от HA не выполняются
Телефон выключен или разряженНевозможно гарантировать отображение уведомления

Вариант Local Push не означает, что любое сообщение обязательно приходит «совсем без облака» при любых условиях. Нужно проверить реальный статус в Companion App, внутренний адрес и доступность WebSocket.

Планирование отказоустойчивости разобрано в статье Что должно работать без сервера Home Assistant.

Информация

Приватность push и ограничение количества сообщений

В стандартной облачной схеме доставки приложение использует инфраструктуру push-уведомлений мобильной платформы. По официальной документации Companion App содержимое уведомлений не хранится на удалённых серверах Home Assistant, но не следует считать обычные push сквозным шифрованием от всех посредников.

Документация указывает лимит 500 удалённых push-уведомлений за сутки на устройство; он может меняться, поэтому при интенсивных сценариях проверяйте текущую редакцию. Local Push, критические оповещения и некоторые служебные команды учитываются отдельно. Массовая отправка от датчика каждые несколько секунд быстро создаст бесполезный шум.

Контроль

Как проверить получение push: confirmation и событие приложения

В Companion App есть режим confirmation: true: при получении уведомления устройство может отправить событие mobile_app_notification_received обратно в Home Assistant. Это полезно для диагностики канала доставки.

Тест события получения на AndroidYAML
alias: "Тест события о получении push"
triggers:
  - trigger: state
    entity_id: input_boolean.test_push
    to: "on"
actions:
  - action: notify.mobile_app_android_phone
    data:
      title: "Проверка доставки"
      message: "Событие получения можно увидеть в Events"
      data:
        confirmation: true
mode: single

Откройте Developer Tools → Events, начните слушать mobile_app_notification_received, затем запустите тест. Если событие пришло, телефон отчитался о получении; это не является гарантией, что пользователь прочитал сообщение или выполнил действие. Такой обмен также зависит от доступности сервера.

Инженерная логика

Как сделать уведомления полезными и не пропускать действительно важное

Разные уровни событий

Информация: завершилась стирка. Предупреждение: превышен порог температуры. Тревога: обнаружена вода или дым.

Антиспам и дубли

Используйте переход состояния, tag, разумные задержки и минимальный интервал повторов.

Проверка исчезновения неисправности

Не очищайте журнал тревоги без подтверждения нормализации датчика и исправности связи.

Независимый резерв

Протечки, дым, газ и иные опасные события требуют локальных извещателей и исполнительной защиты.

Почему нельзя повторять тревогу бесконечно каждую секунду

Повторные push уменьшают заметность важных уведомлений, быстро расходуют дневной лимит и могут перегружать телефон. Если требуется повтор до подтверждения, делайте ограниченное число попыток по расписанию с проверкой текущего состояния датчика. Для особо важных сигналов продумывают другой канал связи и местную сигнализацию.

Почему важно учитывать unavailable

binary_sensor.leak_bathroom = unavailable не означает off. При потере связи нужно отдельно сообщать о недоступности датчика, не объявляя событие устранённым. Подробно об обработке неизвестных состояний: Jinja и availability в Home Assistant.

Диагностика

Почему уведомления Home Assistant не приходят на телефон

01

Начните с ручного notify. Запустите действие в Developer Tools. Если даже прямой вызов не работает, проблема не в trigger датчика.

02

Проверьте Device ID. После переустановки Companion App могло измениться имя notify.mobile_app_....

03

Проверьте ОС. Разрешены ли уведомления, не отключён ли нужный Android channel, есть ли Critical Alerts на iOS.

04

Сравните Wi-Fi и мобильную сеть. Если дома работает, а снаружи нет, проверьте push-канал и remote access для действий/вложений.

05

Проверьте автоматизацию. Trace покажет, запустилась ли она, прошла ли условия и какой action выполнила.

06

Проверьте настройки энергосбережения. Особенно на Android с агрессивным ограничением фоновой работы.

07

Проверьте тег. Если сообщения заменяют друг друга, это может быть ожидаемым поведением tag.

08

Проверьте логи и лимит отправки. Не достигнут ли дневной лимит, нет ли ошибки приложения или integration.

09

Протестируйте action button. Начните слушать mobile_app_notification_action и нажмите кнопку вручную.

10

Сделайте тест после перезагрузки. Проверьте, сохранился ли получатель и не пропала ли регистрация Companion App.

Общая логика отладки triggers и actions есть в материале Автоматизации Home Assistant: триггеры, условия и Trace. При ошибках после обновления: Home Assistant после обновления: unavailable.

Дополнительно

Что ещё поддерживают уведомления Companion App

Открыть dashboard из push

Параметр url или кнопка URI может открыть конкретный dashboard, view либо карточку entity. Адрес должен соответствовать реально существующей панели. Основы организации интерфейса: Dashboard Home Assistant.

Live Activities и Live Updates

Поддерживаемые версии Companion App и Home Assistant могут показывать долгое событие на экране блокировки: зарядку электромобиля, ход стирки или другой процесс. В официальной документации указано требование Home Assistant Core 2026.7 и выше. Это не прямая замена обычного push, а отдельная функция, которую нужно настраивать под конкретный сценарий.

Уведомления по геолокации

Можно отправлять сообщение при возвращении человека в домашнюю зону или при оставленном включённом свете после выхода. Чтобы не получить ложный «все ушли», сначала настройте Person, Zones, GPS и Wi-Fi.

Интеграции и дополнительные возможности

Некоторые расширения предлагают иные каналы сообщений. Но не стоит устанавливать стороннюю integration только ради того, чтобы отправить обычный push. Если всё же используется HACS, предварительно оцените репозиторий и совместимость: HACS: интеграции и безопасные обновления.

Применение

Какие уведомления имеют практический смысл в квартире и доме

Протечка в санузле

Сразу отправить уведомление, а перекрытие воды выполнить независимым штатным контроллером.

Отключение питания

При резервном питании сервера и сети сообщить о пропадании напряжения; без питания HA сообщение не отправит.

Котёл и температура

Сообщать о длительном отклонении температуры или ошибке связи, но не заменять защиту котла.

Камера или входная дверь

Получить сообщение и открыть панель; не разблокировать замок одной кнопкой в push.

Стиральная машина

После завершения цикла один информационный push, без повторов каждую минуту.

NAS и сеть

Сообщить о перегреве или недоступности устройства, но предусмотреть зависимость от питания маршрутизатора.

Для удалённой настройки имеет смысл заранее составить перечень событий, получателей, желаемой срочности, условий отмены и способов проверки доставки. Такой подход защищает от хаотического набора automations.

Вопросы и ответы

FAQ по уведомлениям Home Assistant

Как отправить первое уведомление Home Assistant на телефон?

Установить Companion App, разрешить уведомления, найти notify.mobile_app_имя_устройства в Developer Tools → Actions и отправить сообщение с message.

Почему нет notify.mobile_app для телефона?

Проверьте регистрацию Companion App и разрешения системы. Откройте приложение, затем перезапустите Home Assistant и повторите поиск действия.

Можно ли настроить push без YAML?

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

Почему push работает по Wi-Fi, но не за пределами дома?

Проверьте мобильные push-разрешения, сеть и регистрацию устройства. Для кнопок и вложений нужен доступ Companion App к Home Assistant; Local Push сам по себе не обеспечивает удалённую доставку.

Что такое actionable notification?

Это уведомление с кнопками, которые открывают страницу или отправляют событие mobile_app_notification_action в Home Assistant.

Можно ли нажатием кнопки в push выключить свет?

Технически возможно, но действия должны иметь понятные ограничения и дополнительную проверку при риске для безопасности. Для замков и охраны одного push недостаточно.

Как очистить уведомление после устранения протечки?

Отправьте сообщение clear_notification с тем же tag, что был использован при создании push. На iOS/Android могут действовать системные ограничения очистки.

Почему уведомления на Android приходят с задержкой?

Причиной может быть энергосбережение, Doze, важность канала или отсутствие сети. Проверьте permissions, channel, priority и ttl.

Можно ли обойти беззвучный режим на iPhone?

При наличии разрешения Critical Alerts и корректной настройке критических сообщений iOS может воспроизводить звук независимо от обычного беззвучного режима. Доставка всё равно не гарантирована.

Что делать, если кнопка уведомления не срабатывает?

Слушайте mobile_app_notification_action в Developer Tools → Events, проверьте action ID и доступность HA с телефона в момент нажатия.

Можно ли отправить фотографию с камеры?

Да, используйте image или другое поддерживаемое вложение. Файл должен существовать и быть доступен приложению; для приватных фото предпочтительнее media_source.

Работает ли push полностью без интернета?

Local Push может работать внутри LAN через WebSocket, если поддерживается и активен. Удалённый push при отключённом интернете не следует считать доступным.

Сколько push можно отправить за сутки?

На момент проверки документация Companion App указывает лимит 500 удалённых push в день на устройство; отдельные виды сообщений учитываются иначе. Проверяйте актуальные лимиты.

Подтверждение получения означает, что пользователь прочитал сообщение?

Нет. mobile_app_notification_received подтверждает событие на устройстве, но не факт прочтения, понимания или выполнения действия.

Можно ли использовать уведомления как единственную пожарную сигнализацию?

Нет. Push зависит от сети, телефона, ОС и Home Assistant. Нужны отдельные соответствующие задачам средства локального обнаружения и оповещения.

Как избежать десятков одинаковых уведомлений от датчика?

Используйте trigger по переходу состояния, tag, ограничение повторов и продуманную политику событий. Не отправляйте сообщение при каждом опросе sensor.

Документация

Официальные источники и актуальность

Материал подготовлен по официальной документации Home Assistant и Companion App, актуальной на октябрь 2026 года. Реальные названия пунктов меню и возможности отдельных устройств зависят от версии приложения, Android/iOS и Home Assistant Core.

Настройка системы

Нужны надёжные уведомления о протечке, питании, котле или камерах?

Можно помочь разобраться с устройствами, создать понятные сценарии, настроить получателей, каналы и диагностику отправки. Начать можно с удалённой консультации или настройки существующего Home Assistant.

Онлайн-настройка умного дома или работы с умным домом в Туле и Тульской области.