Домашняя зона (zone.home) - основа для:
- ✅ Детекции присутствия (автоматизации “пришёл/ушёл”)
- ✅ Расчёта времени восхода/заката (освещение, шторы)
- ✅ Прогноза погоды (привязка к координатам)
- ✅ Геозон для устройств и пользователей
Неточные координаты приводят к ложным срабатываниям, неверному прогнозу и сбоям автоматизаций.
🎯 Ограничения стандартного мастера
При первой настройке Home Assistant предлагает выбрать локацию на карте. Однако:
- ❌ Нет ручного ввода координат в мастере
- ❌ Автоопределение по IP часто даёт погрешность 1–10 км
- ❌ Высота над уровнем моря не запрашивается
Решение: настроить точные координаты после установки, через UI или YAML.
🔧 Способ 1: Через UI (после установки)
Шаг 1: Получить точные координаты
Использовать устройство с GPS (телефон с приложением Home Assistant):
- Установить официальное приложение
- Дать разрешение на точное местоположение
- Включить датчик
device_tracker.<device>в настройках приложения - Открыть Developer Tools → States в веб-интерфейсе
- Найти сущность
device_tracker.<your_device> - Скопировать атрибуты:
latitude,longitude,altitude
Шаг 2: Обновить домашнюю зону
- Settings → Areas, labels & zones → Zones
- Открыть
home - Вставить координаты в поля
Latitude/Longitude - Сохранить
Шаг 3: Задать высоту
- Settings → System → General
- Заполнить
Elevation above sea level(в метрах) - Сохранить
💡 Радиус зоны: по умолчанию 100 м. Увеличить до 200–500 м, если дом в частном секторе или есть погрешность GPS.
⚙️ Способ 2: Через YAML (для продвинутых)
Добавить в configuration.yaml:
homeassistant:
name: Home
latitude: 55.7558 # ← пример, заменить на свои
longitude: 37.6173 # ← пример, заменить на свои
elevation: 156 # высота в метрах
radius: 200 # радиус зоны в метрах
unit_system: metric
time_zone: "Europe/Moscow"
country: "RU"
currency: "RUB"
Важно:
- После изменения
configuration.yamlвыполнить Check Configuration и Restart - Если координаты заданы в YAML, поля в UI становятся недоступны для редактирования
🔄 Альтернатива: действие homeassistant.set_location
Для динамического обновления (например, из автоматизации):
automation:
- alias: "Update home location"
trigger:
platform: time_pattern
minutes: "/30" # каждые 30 минут
action:
- action: homeassistant.set_location
data:
latitude: "{{ states('sensor.gps_latitude') }}"
longitude: "{{ states('sensor.gps_longitude') }}"
elevation: "{{ states('sensor.gps_altitude') }}"
⚠️ Использовать с осторожностью: частое обновление локации может нарушить работу автоматизаций присутствия.
⚠️ Типичные проблемы
# "Away" не меняется на "Home" при возвращении
→ Проверить радиус зоны: увеличить до 300–500 м
→ Убедиться, что `device_tracker` обновляется (интервал, мин. расстояние)
# Неверное время восхода/заката
→ Проверить `elevation` и `time_zone` в настройках
→ Перезагрузить интеграцию `sun`
# Координаты не сохраняются в UI
→ Возможно, они заданы в `configuration.yaml` - редактировать только там