Как запустить device tracking для умного дома?
Цель и актуальность
Чтобы Ваш умный дом мог максимально подстраиваться под Ваши потребности, то он должен получать максимальное количество необходимой ему информации о Вас и Ваших привычках. Например, дом должен знать о Вашем уходе или приходе. В данной статье будем настраивать информирование дома о данных событиях. Нашел несколько решений:
Через отслеживание подключений к сетям wi-fi смартфона и тут есть 2 возможности:
Через интеграцию с роутером (у меня роутер TP-Link).
Через приложение Home Assistant на смартфоне.
Через получение Ваших координат из приложения Home Assistant на смартфоне.
Подключение к wi-fi сетям
Подключение к wi-fi сетям возможно отслеживать со стороны роутера или устройства подключения (смартфона).
В самом начале я настроил интеграцию с моим роутером TP-Link. Данная интеграция устанавливается через HACS. Репозиторий решения. Все что Вам необходимо, то это указать IP-адрес, логин и пароль Вашего роутера.
После этого появляются необходимые объекты и Вы можете мониторить информацию с Вашего роутера:
Также появляется объект
device_tracker.<your_device>
, который Вы можете соединить с Вашим профилем: Настройки->Люди->Ваш пользователь.
Решение с роутером хорошее, но мне не давала покоя зависимость от TP-Link и сопутствующие риски.
Следующее решение, на котором остановился на текущий момент - это отслеживание подключения к wi-fi сетям через приложение Home Assistant на смартфоне.
Важно это приложение устанавливать через Google Play, иначе Вы не получаете максимальное количество сенсоров Вашего устройства с доступностью на Вашем сервере.
После установки приложения необходимо пройти по пути: Настройки->Мобильное приложение->Управление сенсорами->Wifi BSSID и включить сенсор. Если у Вас роутер работает на несколько диапозонов (у меня такой слеучай), то можно подключиться к каждой сети по отдельности и получить BSSID.
В
configuration.yaml
добавляем (конфиг необходимо изменить под свои объекты):
template:
- binary_sensor:
- name: vvy at home
state: "{{ is_state('sensor.2201116sg_vvy_wi_fi_bssid', 'xx:xx:xx:xx:xx:xx') or is_state('sensor.2201116sg_vvy_wi_fi_bssid', 'xx:xx:xx:xx:xx:xx') }}"
device_class: presence
delay_off: "0:00:30"
availability: "{{ states('sensor.2201116sg_vvy_wi_fi_bssid') not in ['unavailable', 'unknown'] and not is_state('ssensor.2201116sg_vvy_wi_fi_bssid', '02:00:00:00:00:00') }}"
Перезагружаем Home Assistant. Данным действием мы создаем бинарный сенсор, который будет иметь состояние on
, когда мы подключились к домашним сетям и off
во всех остальных случаях.
Через HACS устанавливаем интеграцию Composite Device Tracker, которая создаёт device tracker
и его уже мы можем привязать к человеку. В configuration.yaml
добавляем (конфиг необходимо изменить под свои объекты):
composite:
trackers:
- name: volokzhanin_wifi
time_as: local
entity_id:
- binary_sensor.vvy_at_home
Перезагружаем Home Assistant. Идем по пути Настройки->Люди->Ваш пользователь и добавляем только что созданный tracker
к нашему пользователю.
Если Все верно настроено, то можно Вывести картинку со статусом на общий dashboard, например, так:
Для это нам необходимо в текстовом редакторе открыть Вашу панель и ввести такой текст (конфиг необходимо изменить под свои объекты):
badges:
- type: entity
show_name: true
show_state: true
show_icon: true
entity: person.<your_user>
image: >-
https://<you_ip>/api/image/serve/51d7f85633503e6ddd03628f5584cf2c/512x512
show_entity_picture: true
name: Вадим
Рекомендую всю семью объединить в группу в файле config_homeassistant/groups.yaml
:
family:
name: Family
entities:
- person.<user1>
- person.<user2>
Данное действие позволит в будущих автоматизациях не проверять каждого человека (его статус), а проверять статус группы. Таким же способом можно объединить все электрические приборы, чтобы отключать не по 1 прибору, а сразу группу.
Получение координат устройства
Данная возможность появляется также при установке мобильного приложения
Home Assistant. Идём по пути: Настройки->Мобильное приложение->Управление сенсорами->Геокодированное местоположение (включаем этот сенсор). Перезагружаем Home Assistant.
Выводим на карту полученные сенсоры, например:
Полученный device_tracker
возможно привязать к конкретному человеку, но этот способ оказался не очень точным по 2 причинам:
Home Assistant считает домом диаметр 100 метров вокруг обозначенных координат. Необходимо довольно далеко уйти, чтобы вы были «не дома».
В 2025 году в Москве постоянные сбои навигации в связи с политической обстановкой. В итоге данную интеграцию я использую с целью визуализации местоположения человека.
Также можно установить интеграцию Proximity. Перезагружаем Home Assistant. Данную интеграцию используем для автоматизаций, когда нам необходимо расстояние до объекта (дома, например). Пример отображения:
Итог
Наш дом знает о нашем приходе или уходе, также мы можем знать местоположение человека, выводить его на карту и рассчитывать расстояния до дома (объектов).
Ссылки: