Найти в Дзене
Smart Home 53

Как определить наличие человека в умном доме

Во многих моих статьях и автоматизациях уже встречались условия, когда автоматизацию надо выполнять, зная информацию, находятся ли домашние дома или нет. Это знание может быть полезно для постановки помещения на охрану, контроля климата, освещения и других параметров в умном доме. Есть много способов передавать такую информацию в умный дом Home Аssistant. В этой статье я расскажу, какими конкретно способами пользуюсь.

В Home Аssistant для определения нахождения дома задуманы специальные сущности в домене device_tracker и person. Первое - это отслеживаемые устройства, а второе - непосредственно люди, которым эти устройства принадлежат. При этом в person можно добавить какое угодно количество device_tracker. Нашей задачей является получение этих самых device_tracker. Для этого я использую:

1. Приложение Home Аssistant на Android или iOS.

Это самый простой способ, предоставленный самими разработчиками HA. Если приложению разрешить доступ к геопозиции телефона, эти данные попадут на ваш сервер HA. Если координаты телефона окажутся внутри зоны вашего дома, device_tracker примет значение ‘home’, как только эту зону телефон покинет, значение изменится на ‘not_home’. Кроме того, вы можете добавлять множество зон, тогда значение будет принимать наименование той зоны, в которой согласно координатам находится телефон. В зависимости от операционной системы приложение-компаньон генерирует дополнительные сенсоры, такие как заряд батареи телефона, время следующего будильника и так далее. Эти сенсоры также будут доступны в умном доме для использования в автоматизациях. Но если вы не хотите делится геопозицией, или ваш сервер HA недоступен из интернета, смотрите следующие пункты.

2. Интеграции, отслеживающие наличие телефона в вашей домашней сети.

У всех же есть wi-fi дома? Уж у энтузиастов умного дома он точно есть. Можно отслеживать присутствие дома с помощью интеграций, контролирующих, подключен ли ваш телефон к wifi или нет. Для этого не нужно делиться геопозицией и даже ставить на телефон какие-то приложения. Для большинства роутеров такие интеграции существуют. Вот например для TPlink, Keenetic и роутеры Xiaomi. Но если вдруг для вашего роутера не нашлось такой интеграции (в том числе и среди кастомных компонентов), не надо отчаиваться, в этом случае можно воспользоваться интеграцией nmap trakcer. Я использую интеграцию Mikrotik для отслеживания телефонов, подключенных к нему по Wi-Fi.

Тут тоже не все идеально, например владельцы iphone заметят, что их устройство постоянно то определяется дома, то нет, хотя все это время подключено к wi-fi сети. Все дело в особом алгоритме энергосбережения, при котором iphone периодически отправляет wi-fi модуль в сон, если тот не используется.

3. Отслеживание блютуз-устройств.

Телефон можно забыть дома или отключить вай-фай и забыть включить по приходу домой. Что делать в таком случае? Отслеживать bluetooth-девайсы. Можно повесить метку на ключи. Я же отслеживаю свой mi band 4, который постоянно ношу на руке, не снимая. Тут я использую два метода. Первый - интеграция Bluetooth LE Tracker, которая задействует для сканирование эфира bluetooth модуль вашего сервера.

В моем случае это raspberry pi c встроенным модулем bluetooth. Но он не достаточно дальнобойный, чтобы покрыть всю квартиру. Как быть в таком случае? Я использую контроллеры ESP32 с прошивкой ESPHome и включенным компонентом esp32_ble_tracker. Подробности можно прочитать на сайте проекта.

Эти контроллеры можно запитать от usb и разместить в тех уголках квартиры, до куда не достает bluetooth сервера. Каждая такая плата будет пробрасывать в Home Assistant бинарный сенсор, который будет принимать значение on , как только bluetooth устройство покажется в зоне видимости. При желании binary_sensor можно преобразовать в device_tracker и так же привязать к person.

В своей текущей конфигурации я использую все вышеперечисленные методы с целью достичь большей точности и стабильности. Благодаря этому можно привязывать сценарии отключения света и постановки на охрану в связи с отсутствием домочадцев дома.

А как вы отслеживаете наличие дома людей? Если какой-то из методов остался не понятен и требует большего погружения в тему с подробной инструкцией - пишите в комментариях, постараюсь помочь или даже написать отдельную статью!

Подписывайтесь на мой канал и страницу в инстаграм @smart.home53, чтобы не пропустить новые статьи.

#умный дом #smart home #home assistant #безопасность #wi-fi #bluetooth #технологии #интернет вещей #iot