Поиск по базе знаний

Запуск сценариев Дома в Алисе по GPS-зонам Home Assistant

Автоматизация умного дома становится по-настоящему «умной», когда она предугадывает ваши желания и начинает выполняться до того, как вы отдадите голосовую команду или нажмете кнопку на выключателе. Классический пример — подготовка климата к вашему возвращению: включение теплого пола или кондиционера за полчаса до того, как вы переступите порог.

Для реализации таких сценариев идеально подходит отслеживание координат пользователя по GPS с помощью геозон (geofencing). Поскольку приложение «Дом с Алисой» не поддерживает постоянный фоновый сбор точных координат, мы можем использовать мобильное приложение Home Assistant в качестве высокоточного трекера, а затем передавать состояние присутствия в Яндекс для запуска голосовых приветствий и сценариев.

Шаг 1. Настройка зоны «Дом» в Home Assistant

Первое, что необходимо сделать — четко определить географические границы вашего дома на карте Home Assistant.

  1. Откройте веб-интерфейс Home Assistant, перейдите в раздел Настройки ➡️ Области и зоны ➡️ Зоны.
  2. По умолчанию в системе уже создана зона Home. Нажмите на нее для редактирования.
  3. Укажите точную широту (Latitude) и долготу (Longitude) вашего дома. Это можно сделать, переместив маркер на встроенной карте.
  4. Задайте Радиус зоны в метрах. Рекомендуется устанавливать значение от 100 до 300 метров. Слишком маленький радиус (менее 50 метров) может приводить к ложным срабатываниям из-за погрешностей GPS в плотной городской застройке, а слишком большой радиус запустит сценарий слишком рано.
  5. Нажмите Сохранить.

TIP

Если вы хотите запускать сценарии предварительного прогрева бойлера или включения кондиционера на большом расстоянии (например, когда выезжаете с работы), создайте дополнительную зону «Работа» или «Путь домой» с радиусом в несколько километров.

Шаг 2. Настройка мобильного приложения на смартфоне

Смартфон выступает основным датчиком положения. Для корректной передачи координат необходимо правильно настроить права операционной системы.

  1. Установите приложение Home Assistant из App Store или Google Play на свой смартфон.
  2. Подключите приложение к вашему серверу, используя ваш внешний адрес (например, настроенный через Nginx Proxy Manager или DuckDNS).
  3. Во время первоначальной настройки или в меню приложения Настройки ➡️ Приложение разрешите доступ к геопозиции в режиме «Разрешить в любом режиме» (или «Всегда разрешать» для фоновой работы).
  4. Критически важно для Android: отключите оптимизацию энергопотребления для приложения Home Assistant в настройках батареи вашего смартфона. В противном случае операционная система будет «усыплять» фоновые процессы, и координаты перестанут обновляться вовремя.
  5. Убедитесь, что сенсор device_tracker.your_phone_geocoded_location перешел в статус home в списке сущностей Home Assistant.

WARNING

Без отключения оптимизации батареи и разрешения фонового доступа к GPS навигация будет работать нестабильно, и сценарий прихода домой может сработать с опозданием на 10–20 минут, когда вы уже вошли в квартиру.

Шаг 3. Создание виртуального переключателя (Моста)

Так как Яндекс Станция не умеет напрямую реагировать на события зон Home Assistant, мы создадим виртуальный тумблер-посредник (input_boolean), который будет проброшен в Алису.

  1. Перейдите в Настройки ➡️ Устройства и службы ➡️ Вспомогательные элементы.
  2. Нажмите Создать вспомогательный элемент и выберите тип Переключатель (Toggle).
  3. Назовите его «Присутствие дома» (сущность получит ID input_boolean.presence_home).
  4. Нажмите Создать.
  5. Теперь создайте автоматизацию в Home Assistant: если статус вашего телефона меняется на home, то переключатель input_boolean.presence_home переводится в положение «Включено». Если статус меняется на любое другое значение — переключатель выключается.

Вот YAML-код этой автоматизации:

alias: "Геозона: Изменение присутствия"
trigger:
  - platform: state
    entity_id: device_tracker.your_phone
    to: "home"
    id: arrived
  - platform: state
    entity_id: device_tracker.your_phone
    from: "home"
    id: left
action:
  - service: >-
      input_boolean.turn_{{ 'on' if trigger.id == 'arrived' else 'off' }}
    target:
      entity_id: input_boolean.presence_home

Шаг 4. Настройка сценария приветствия в приложении «Дом с Алисой»

После создания переключателя и обновления списка устройств в Яндексе, виртуальный тумблер появится в приложении «Дом с Алисой» как выключатель.

  1. Откройте приложение «Дом с Алисой» на смартфоне.
  2. Проверьте, что в списке устройств появился выключатель «Присутствие дома». При необходимости переименуйте его.
  3. Перейдите в раздел Сценарии и нажмите «+» для создания нового правила.
  4. Задайте имя сценария, например: «Приветствие при возвращении».
  5. В блоке Если выберите: Устройство ➡️ Присутствие дома ➡️ Включилось.
  6. В блоке Тогда добавьте действия:
    • Выберите вашу Яндекс Станцию и добавьте действие: Произнести текст ➡️ «С возвращением! Я уже подготовила комнату к вашему приходу».
    • Добавьте действие для управления климатом или освещением в прихожей.
  7. Сохраните сценарий.

Для создания полноценного комфорта и детальной настройки сценария приветствия (например, чтобы музыка начинала играть на Станции Макс, а свет включался с мягким диммированием), ознакомьтесь с нашей подробной инструкцией по настройке сценария «Добро пожаловать домой». В ней подробно описывается, как подружить различные датчики открытия дверей с голосовыми оповещениями, чтобы Алиса не беспокоила вас лишний раз, если вы просто вышли выбросить мусор, и создавала по-настоящему уютную атмосферу для каждого члена семьи. Этот подход позволит минимизировать количество холостых запусков системы и гарантирует, что приветствие сработает только тогда, когда вы действительно вернулись домой после длительного отсутствия.

Для альтернативных методов геолокации без мобильного приложения используйте отслеживание присутствия в Home Assistant по пингу смартфонов в локальной сети.

Инструкция по настройке

1

Настройка зоны Home в Home Assistant

Задайте точные географические координаты вашего дома и радиус зоны в файле configuration.yaml или через карту в настройках.

2

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

Установите приложение Home Assistant на смартфон, предоставьте доступ к геопозиции в фоновом режиме и включите сенсоры.

3

Создание вспомогательного переключателя

Создайте виртуальный тумблер input_boolean в Home Assistant для синхронизации статуса нахождения пользователя в зоне.

4

Создание автоматизации в Алисе

Свяжите виртуальный тумблер с умным домом Яндекса и настройте сценарий приветствия при переходе тумблера в статус Вкл.