Запуск сценариев Дома в Алисе по GPS-зонам Home Assistant
Автоматизация умного дома становится по-настоящему «умной», когда она предугадывает ваши желания и начинает выполняться до того, как вы отдадите голосовую команду или нажмете кнопку на выключателе. Классический пример — подготовка климата к вашему возвращению: включение теплого пола или кондиционера за полчаса до того, как вы переступите порог.
Для реализации таких сценариев идеально подходит отслеживание координат пользователя по GPS с помощью геозон (geofencing). Поскольку приложение «Дом с Алисой» не поддерживает постоянный фоновый сбор точных координат, мы можем использовать мобильное приложение Home Assistant в качестве высокоточного трекера, а затем передавать состояние присутствия в Яндекс для запуска голосовых приветствий и сценариев.
Шаг 1. Настройка зоны «Дом» в Home Assistant
Первое, что необходимо сделать — четко определить географические границы вашего дома на карте Home Assistant.
- Откройте веб-интерфейс Home Assistant, перейдите в раздел Настройки ➡️ Области и зоны ➡️ Зоны.
- По умолчанию в системе уже создана зона Home. Нажмите на нее для редактирования.
- Укажите точную широту (Latitude) и долготу (Longitude) вашего дома. Это можно сделать, переместив маркер на встроенной карте.
- Задайте Радиус зоны в метрах. Рекомендуется устанавливать значение от
100до300метров. Слишком маленький радиус (менее 50 метров) может приводить к ложным срабатываниям из-за погрешностей GPS в плотной городской застройке, а слишком большой радиус запустит сценарий слишком рано. - Нажмите Сохранить.
TIP
Если вы хотите запускать сценарии предварительного прогрева бойлера или включения кондиционера на большом расстоянии (например, когда выезжаете с работы), создайте дополнительную зону «Работа» или «Путь домой» с радиусом в несколько километров.
Шаг 2. Настройка мобильного приложения на смартфоне
Смартфон выступает основным датчиком положения. Для корректной передачи координат необходимо правильно настроить права операционной системы.
- Установите приложение Home Assistant из App Store или Google Play на свой смартфон.
- Подключите приложение к вашему серверу, используя ваш внешний адрес (например, настроенный через Nginx Proxy Manager или DuckDNS).
- Во время первоначальной настройки или в меню приложения Настройки ➡️ Приложение разрешите доступ к геопозиции в режиме «Разрешить в любом режиме» (или «Всегда разрешать» для фоновой работы).
- Критически важно для Android: отключите оптимизацию энергопотребления для приложения Home Assistant в настройках батареи вашего смартфона. В противном случае операционная система будет «усыплять» фоновые процессы, и координаты перестанут обновляться вовремя.
- Убедитесь, что сенсор
device_tracker.your_phone_geocoded_locationперешел в статусhomeв списке сущностей Home Assistant.
WARNING
Без отключения оптимизации батареи и разрешения фонового доступа к GPS навигация будет работать нестабильно, и сценарий прихода домой может сработать с опозданием на 10–20 минут, когда вы уже вошли в квартиру.
Шаг 3. Создание виртуального переключателя (Моста)
Так как Яндекс Станция не умеет напрямую реагировать на события зон Home Assistant, мы создадим виртуальный тумблер-посредник (input_boolean), который будет проброшен в Алису.
- Перейдите в Настройки ➡️ Устройства и службы ➡️ Вспомогательные элементы.
- Нажмите Создать вспомогательный элемент и выберите тип Переключатель (Toggle).
- Назовите его «Присутствие дома» (сущность получит ID
input_boolean.presence_home). - Нажмите Создать.
- Теперь создайте автоматизацию в 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. Настройка сценария приветствия в приложении «Дом с Алисой»
После создания переключателя и обновления списка устройств в Яндексе, виртуальный тумблер появится в приложении «Дом с Алисой» как выключатель.
- Откройте приложение «Дом с Алисой» на смартфоне.
- Проверьте, что в списке устройств появился выключатель «Присутствие дома». При необходимости переименуйте его.
- Перейдите в раздел Сценарии и нажмите «+» для создания нового правила.
- Задайте имя сценария, например: «Приветствие при возвращении».
- В блоке Если выберите: Устройство ➡️ Присутствие дома ➡️ Включилось.
- В блоке Тогда добавьте действия:
- Выберите вашу Яндекс Станцию и добавьте действие: Произнести текст ➡️ «С возвращением! Я уже подготовила комнату к вашему приходу».
- Добавьте действие для управления климатом или освещением в прихожей.
- Сохраните сценарий.
Для создания полноценного комфорта и детальной настройки сценария приветствия (например, чтобы музыка начинала играть на Станции Макс, а свет включался с мягким диммированием), ознакомьтесь с нашей подробной инструкцией по настройке сценария «Добро пожаловать домой». В ней подробно описывается, как подружить различные датчики открытия дверей с голосовыми оповещениями, чтобы Алиса не беспокоила вас лишний раз, если вы просто вышли выбросить мусор, и создавала по-настоящему уютную атмосферу для каждого члена семьи. Этот подход позволит минимизировать количество холостых запусков системы и гарантирует, что приветствие сработает только тогда, когда вы действительно вернулись домой после длительного отсутствия.
Для альтернативных методов геолокации без мобильного приложения используйте отслеживание присутствия в Home Assistant по пингу смартфонов в локальной сети.
Инструкция по настройке
Настройка зоны Home в Home Assistant
Задайте точные географические координаты вашего дома и радиус зоны в файле configuration.yaml или через карту в настройках.
Подготовка мобильного приложения
Установите приложение Home Assistant на смартфон, предоставьте доступ к геопозиции в фоновом режиме и включите сенсоры.
Создание вспомогательного переключателя
Создайте виртуальный тумблер input_boolean в Home Assistant для синхронизации статуса нахождения пользователя в зоне.
Создание автоматизации в Алисе
Свяжите виртуальный тумблер с умным домом Яндекса и настройте сценарий приветствия при переходе тумблера в статус Вкл.