Домашняя зона (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` - редактируйте только там