20

Добавляем пылесосу одометр

Всем привет. У меня накопилось несколько интересных решений для умного дома, которыми я хочу поделиться. Понятия не имею куда писать подобные статьи. Для хабра слишком просто, для телеграм чата по HomeAssistant - прочитают два с половиной человека, пост утонет в потоке. Поэтому сюда!



И так одометр пылесоса. Зачем он нужен?
Первоначально один мой знакомый попросил помочь ему с автоматизацией - уведомление когда заканчивается вода в пылесосе. Но как сделать подобное если пылесос никак не отслеживает уровень воды? Но каждый же может примерно оценить на сколько ему хватает бака?
У меня и моего товарища пылесос Xiaomi, а точнее его очередной дочки - Xiaomi Mijia Robot Vacuum Mop P STYJ02YM. На самом деле для дальнейшего повествования это не суть важно. Я хочу описать принцип работы, а полученные знания можно применить к кучу других пылесосов.

И так у меня есть устройство пылесос. У устройства есть атрибуты:

Нас будет интересовать два из них - box_type и cleaned_area. Из cleaned_area мы создадим одометр, а с помощью изменения box_type будем его сбрасывать.
И так начнем с одометра. Создадим виртуальный сенсор пробега:

template:
sensor:
- name: home_vacuum_box_type
icon: mdi:boombox
state: >
{{ state_attr('vacuum.home_vacuum', 'box_type') }}

- name: home_vacuum_cleaned_area_now
icon: mdi:counter
state: >
{{ state_attr('vacuum.home_vacuum', 'cleaned_area') }}
unit_of_measurement: 'm²'

Где home_vacuum_box_type - название виртуального сенсора, а {{ state_attr('vacuum.home_vacuum', 'box_type') }} - его показание, которое будем брать из атрибута box_type у устройства vacuum.home_vacuum.

Таким образом мы создаем два сенсора:
sensor.home_vacuum_box_type - показывающий текущий тип контейнера
sensor.home_vacuum_cleaned_area_now - показывающий текущий пробег


Теперь создадим сам одометр:

utility_meter:
home_vacuum:
source: sensor.home_vacuum_cleaned_area_now
name: home_vacuum_cleaned_area

Так как показания sensor.home_vacuum_cleaned_area_now будут отображаться как - сколько убрано площади в данный момент - то есть 2 метра, через минуту 5 метров и.т.д. Нам надо использовать utility_meter. Он не будет складывать 2+5, а считать правильно. Так же будет учитывать что показания могут откатываться на 0 при постановке на док станцию и тогда к текущем 5 метрам полученными с прошлой уборки, будут прибавляться новые показания с текущей уборки. Короче говоря мы получим sensor.home_vacuum_cleaned_area который уже будет работать как настоящий одометр.

Далее нам надо как то сбрасывать одометр при вытряхивании/замене контейнера. Именно для этого мы будем использовать sensor.home_vacuum_box_type. В моем пылесосе sensor.home_vacuum_box_type '1' - контейнер для пыли, sensor.home_vacuum_box_type '3' - контейнер для воды и sensor.home_vacuum_box_type '0' - контейнер отсутвует.
Именно 0 то нас и интересует. Создадим простейшую автоматизацию:

- alias: Дом - Пылесос - Сброс счетчика уборки при замене контейнера
id: home_vacuum_automation_clean_count_reset
mode: single
trigger:
- platform: state
entity_id:
- sensor.home_vacuum_box_type
to: "0"
action:
- service: utility_meter.calibrate
data:
value: "0"
target:
entity_id: sensor.home_vacuum_cleaned_area

Где триггером будет выступать состояние 0 у sensor.home_vacuum_box_type. Это значит что контейнер я вынул - значит одометр нужно сбросить.

Таким нехитрым образом мы добавили к пылесосу одометр который сбрасывается при замене/очистке контейнера. Остается лишь дописать автоматизации вроде - если тип контейнера 3, а одометр больше 60 метров, тогда отправить сообщение на Алису/телеграм/куда вам удобно - вода заканчивается.

Умный дом

216 постов2.5K подписчиков

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества