Возможно пригодится людям которые периодически забывают ставить автомобиль на охрану по тем или иным причинам.
Да и для других целей.
Для этого нам понадобится:
- Home Assistant;
- Telegram;
- GPS в Автомобиле, в моём случае сделано через интеграцию со Starline
- Телефон с разрешённой геолокацией
Итак, в шаблонах создаём простой сенсор отслеживания расстояния:
dist_from_auto: value_template: "{{(distance('device_tracker.my_car_location', 'device_tracker.my_cellphone')*1000)|int}}" friendly_name: Моя дистанция от автомобиля
Где,
distance - хелпер помогающий из измерять расстояние. Если вы не знали, то не всё так просто, как может показаться, при измерении географических расстояний учитывается кривизна земли и ещё какой-то матан. Чем дальше расстояние, тем больше погрешность измерений, но в нашем случае этим можно пренебречь.
device_tracker* - собственно трекер наших устройств.
По умолчанию расстояние измеряется в километрах, поэтому переводим в метры и заодно преобразуем в целое число, чтобы не заморачиваться со знаками после запятой.
Ниже пример автоматизации, как обычно сделанной в GUI.
- id: '1601461167559' alias: Уведомление о дистанции от авто description: '' trigger: - platform: numeric_state entity_id: sensor.dist_from_auto above: '2' condition: - condition: and conditions: - condition: device device_id: 8e39ae9fa6fe415ca8d52bcef7c0ef23 domain: lock entity_id: lock.my_car_security type: is_unlocked - condition: and conditions: - condition: device type: is_off device_id: 8e39ae9fa6fe415ca8d52bcef7c0ef23 entity_id: switch.my_car_engine domain: switch action: - service: notify.telega data: message: Внимание! Вы отошли от машины более 2-х метров и не заблокировали автомобиль! mode: single
Логика работы: Если сенсор фиксирует расстояние от авто больше двух метров и при этом охрана отключена и двигатель выключен, то посылает уведомление в телеграм.
Качество работы?
В целом, я бы оценил качество работы на 3+ и то из-за того, что геолокация у меня включена через icloud и не очень часто и точно обновляется, но в любом случае, это лучше чем ничего.
Бонус для тех кто дочитал
Так можно прогнозировать время прихода домой того или иного члена семьи, ведь у нас есть расстояние и мы знаем, что средняя скорость движения человека пешком составляет примерно 5 км/ч. Скорость передвижения на автомобиле можно вычислить по логам GPS или по БК, тоже самое и с автобусом. Из начальной школы мы знаем, что чтобы вычислить время, нужно расстояние поделить на скорость. А чтобы узнать количество минут, то нужно результат помножить на 60. И дополнительно округлим это всё до одного знака.
Для измерения нам достаточно только координат отслеживаемого объекта.
{{(distance('device_tracker.wife_location')/5*60)|round(1)}}
Здесь должна была быть шутка про балконы и шкафы, но я передумал.
Спасибо, что дочитали до конца! Пожалуйста оцените статью, это поможет мне писать лучше :)
По-русски пишется «вы удалились на расстояние более 2х метров» или «вы отошли от автомобиля далее 2х метров». А у вас какой-то перевод гуглом с английского 🤣
Как бог на душу положил, так я и написал. Для себя же делаю, главное чтобы я понял )