Найти в Дзене
DigitalComfort

Умный дом бережёт от штрафа: Автоматизация Home Assistant для неправильно припаркованного автомобиля

Ещё одна классная и полезная идея для умного дома, которой хочу поделиться - я научил свой умный дом следить за парковкой автомобиля и сообщать, если я его по недосмотру оставил под знаком. Проблема Вокруг дома, где я живу, на всех окрестных улицах запрещена парковка в один из дней недели. Естественно, на каждой улице этот день свой. И машины, оставленные под знаком, увозят ночью на штрафстоянку. Попав однажды на такую эвакуацию, я и стал думать, как избежать этой проблемы в будущем. Причин, по которой машина может оказаться припаркованной в запрещённом месте, несколько. Первая - мой маршрут парковки в поисках свободного места таков, что я выезжаю из двора (проехав его насквозь и не найдя места) в середине улицы, знак для которой установлен в её начале. То есть я его не вижу. Да, конечно я знаю, что он есть, и знаю, какой день запрещён. Но когда знак не попадает в поле зрения иногда я просто не вспоминаю о нём вообще. Бывает. Вторая - машиной я пользуюсь не каждый день и могу вообще не

Ещё одна классная и полезная идея для умного дома, которой хочу поделиться - я научил свой умный дом следить за парковкой автомобиля и сообщать, если я его по недосмотру оставил под знаком.

Проблема

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

Причин, по которой машина может оказаться припаркованной в запрещённом месте, несколько. Первая - мой маршрут парковки в поисках свободного места таков, что я выезжаю из двора (проехав его насквозь и не найдя места) в середине улицы, знак для которой установлен в её начале. То есть я его не вижу. Да, конечно я знаю, что он есть, и знаю, какой день запрещён. Но когда знак не попадает в поле зрения иногда я просто не вспоминаю о нём вообще. Бывает. Вторая - машиной я пользуюсь не каждый день и могу вообще не вспомнить, на какой из улиц припарковал её последний раз и в какой день её нужно переставить.

Решение

Главное условие для решения этой задачи - необходимо знать текущую геолокацию автомобиля.

Раньше я ездил на Honda Civic, в которой была установлена сигнализация Pandora с GPS-приёмником и удалённым управлением через приложение. А для Пандоры есть в Home Assistant пользовательская интеграция pandora_cas, с помощью которой и можно получить геопозицию в умный дом, чем я и пользовался много лет. В общем случае нужно искать интеграцию под конкретную охранную систему и пользоваться ей, если таковая найдётся. Это самый простой способ получить геопозицию автомобиля в Home Assistant.

Но когда я сменил автомобиль на Haval Jolion, то решил не устанавливать в него никаких сигнализаций. И очень скоро я снова чуть не попал на штрафстоянку, потому что опять забыл про парковку, а умный дом мне не напомнил. Ставить сигналку только ради этого сильно не хотелось, а пользоваться полезной автоматизацией хотелось очень.

И я нашёл универсальное решение, подходящее для любого автомобиля. Это GPS-трекер, бесплатный сервис GPS-мониторинга livegpstracks и интеграция car_location, в документации к которой подробно описан процесс настройки всей этой связки.

GPS-трекер

Трекер может быть любым из списка поддерживаемых сервисом livegpstracks. Я купил Sinotrack ST-901 просто потому, что именно на его примере описан процесс подключения вот в этой статье на Хабре. Автор статьи является и автором интеграции car_location, за что я ему премного благодарен. Интеграция превосходно работает.

GPS-трекер Sinotrack ST-901
GPS-трекер Sinotrack ST-901

Для GPS-трекера нужна сим-карта для доступа в интернет. И я уже не первый раз воспользовался предложением от Мегафона - тариф "Умные вещи" с опцией "Умные вещи навсегда". Сейчас этот тариф архивный, взамен него предлагается другой - "Тариф 2 ГБ", но опция "Навсегда" присутствует, которая окупается за два года.

Инсталляцию трекера в автомобиль доверил профессионалам, не люблю в машине копаться, не моё это. У трекера всего три провода для подключения - питание, земля и зажигание (на фото их четыре, но в моём экземпляре было три). Трекер умеет присылать разные SMS-сообщения и отслеживать состояние зажигания и датчика вибрации, но я всё это отключил за ненадобностью. Мне от трекера нужна только геопозиция. На данный момент этот трекер работает в автомобиле уже год, без нареканий.

Координаты авто в Home Assistant

После настройки трекера, связки его с сервисом livegpstracks и интеграцией car_location я получил в Home Assistant новый сенсор: sensor.car_gps_sensor, предоставляющий координаты трекера в своих атрибутах:

-2

Всё, больше никаких возможностей интеграция car_location не имеет. Только один сенсор и только координаты. Ничего лишнего, только нужное.

Зоны контроля парковки

На карте Home Assistant настроил зоны парковки и сделал их служебными, чтобы не отсвечивали в интерфейсе. Здесь пришлось немного повозиться, так как зоны могут быть заданы только круглые, а улицы все продолговатые. Нарисовал гусеницу из пересекающихся кружочков для двух улиц, между которыми я обычно переставляю машину.

Алгоритм автоматизации

Триггерами автоматизации выступают четыре момента вечернего времени (19, 21, 22 и 23 часа) и изменение состояния объекта "Android Auto" на "Отключено". Со временами всё понятно - проверка выполняется ежедневно безусловно в указанные часы.

А вот Андроид Авто - это самое интересное. В старом автомобиле его не было, и кроме времени ещё одним триггером запуска автоматизации был факт постановки сигнализации в охрану. В этом автомобиле нет сигнализации и мне никак не получить в умный дом информацию о постановке его в охрану (штатную). Но зато здесь есть Андроид Авто, которым я пользуюсь при каждой поездке для музыки и навигатора. Приложение Home Assistant на телефоне умеет отслеживать состояние Андроид Авто и предоставляет бинарный сенсор его состояния - включено или отключено. Таким образом, триггер срабатывает в момент, когда я отключаю телефон от провода в машине, производится запуск автоматизации и проверка геопозиции.

Дальше всё просто. В условиях автоматизации задана проверка на попадание во все зоны в "запрещённое" для парковки время. И тут имеется ввиду не то время, которое указано на табличке под знаком "остановка запрещена", а время, в которое нужно проводить проверку - то есть накануне вечером (парковка запрещена у нас только в ночное время с 0 до 7 часов).

Ну и если условия правильной парковки не выполняются, то в действиях автоматизации будет вызвана служба отправки уведомлений на телефон. А чтобы это уведомление точно не пропустить и услышать, в конфигурации вызова службы я указал отправку в отдельный канал уведомлений "Parking" для приложения Home Assistant:

-3

Подробнее о создании и удалении канала уведомлений рассказано в документации для Companion Apps.

После первого срабатывания такого вызова в настройках уведомлений для приложения появляется новый канал, для которого можно задать отдельную мелодию и разрешить уведомления в режиме "Не беспокоить":

-4

И теперь, если правила парковки нарушены, то телефон орёт сигналом сирены и показывает уведомление:

-5

Если я запарковался неправильно в вечернее время, то уведомление звучит сразу же, как я снял телефон с провода в машине, я и просто перепарковываюсь. Если же машина стояла в этом месте с утра и я никуда не ездил - уведомление будет приходить четыре раза в указанные часы до тех пор, пока машина не будет перемещена в разрешённое место.

Целиком автоматизация выглядит так:

-6

Здесь в первом блоке условий указана проверка четырёх зон - это одна улица, а во втором двух зон - это другая.

Получилось довольно просто, работает стабильно.