

В предыдущей статье мы рассмотрели самый простой способ уведомления об окончании стирки с помощью умной розетки и базовых автоматизаций Home Assistant. Этот подход имеет право на жизнь, но хочется большего!
Позже я наткнулся на более продвинутый вариант — отличная интеграция WashData Integration, которую я установил, настроил и активно использую. Эта интеграция не просто определяет "стирает/не стирает", а изучает профили мощности вашей машины, распознаёт конкретные программы и даже предсказывает время окончания стирки.
Возможности этой интеграции не заканчиваются с использованием обычной стиралки, это применимо к комбинированной стиральной машине с сушкой, просто с сушильной машиной, а также будет работать с посудомоечной машиной, фритюрницей, хлебопечкой, различными насосами и в общем много ещё с чем, что работает с различными циклами.
Кратко о WashData — это пользовательский компонент Home Assistant, который:
- Автоматически определяет начало и конец цикла по анализу потребления энергии
- Распознаёт программы стирки (быстрая, хлопок, деликатная и т.д.) по форме кривой мощности
- Показывает достаточно точное время до окончания с учётом фазы стирки
- Рассчитывает стоимость каждой стирки с учётом тарифов
- Работает с множеством устройств
Главное преимущество — система учится на ваших циклах стирки и со временем становится всё точнее.
Установить интеграцию проще всего через HACS, но можно и вручную.
Первоначальная настройка
После установки и перезапуска HA:
1. Перейдите в Настройки → Устройства и службы
2. Нажмите "Добавить интеграцию"
3. Найдите "WashData"
4. Заполните четыре простых поля:
Название - например: "Стиральная машина" или "Енот Геннадий" :)
В выпадающем меню выбираем тип устройства "Стиральная машина"
Сенсор мощности - выбираем вашу розетку или реле с мониторингом (например: sensor.rozetka_wifi_2_moshchnost)
Минимальная мощность - порог ожидания (по умолчанию 2 Вт). Оставьте как есть, если ваша розетка не показывает ложное потребление в режиме ожидания.
Сохраняем — интеграция создана!
Обратите внимание, что виды стирок "синтетика" и "хлопок" например на нашей машинке, производятся с взвешиванием белья и из-за этого циклы при обучении могут записываться по разному и конечно длительность стирки тоже может изменяться. Остальные виды стирок производятся без взвешивания и по этому обучаются гораздо проще и точнее.
Панель управления WashData
После настройки в боковой панели Home Assistant появится пункт "WashData".
Основные разделы панели:
1. Обзор
- Живой график потребления мощности
- Текущее состояние машины
- Оставшееся время
- Текущая программа
- Кнопки управления циклом
2. Циклы
- История всех стирок
- Стоимость каждой стирки
- Возможность пометить цикл как "неизвестный" для обучения системы
3. Профили
- Здесь хранятся изученные программы стирки
- Графики потребления для каждой программы
- Статистика по использованию
4. Настройки
- Тонкая настройка порогов
- Параметры уведомлений
- Оптимизация под вашу машину
Обучение системы распознаванию программ
Это самый важный этап — без него система не будет работать корректно. WashData не знает заранее, какие у вас программы, поэтому её нужно обучить.
Способ 1: Режим записи (рекомендуется)
Это более точный способ:
1. В разделе Обзор найдите "Ручная запись"
2. Нажмите "Начать запись"
3. Запустите конкретную программу стирки (например, "Быстрая 30°C")
4. Дождитесь полного окончания цикла
5. Нажмите "Остановить запись"
6. Система предложит создать профиль из этой записи
7. Назовите его (например: "Быстрая стирка")
Повторите для 2-3 наиболее часто используемых программ.
Пример:

Способ 2: Пометка после стирки
Если вы уже начали пользоваться машиной:
1. Запустите стирку как обычно
2. После окончания откройте раздел Циклы
3. Найдите последний цикл (он будет помечен как "Неизвестный")
4. Откройте его и нажмите "Назначить профиль"
5. Создайте новый профиль или выберите существующий
Для начала достаточно обучить систему на 2-3 основных программах. Со временем она научится различать и остальные.

Так же есть напоминания по обслуживанию стиральной машины: удаление накипи, очистка фильтра, очистка барабана. По умолчанию это предлагается делать соответственно через 30, 50 и 100 циклов.
Настройка уведомлений
WashData предоставляет готовые автоматизации для уведомлений, которые легко настроить.
Включение автоматических уведомлений
1. В настройках найдите раздел Уведомления
2. Нажмите "Автоматизации"
3. Вы увидите список готовых триггеров:
- Цикл начат
- Цикл завершён
- Предупреждение об окончании
Для каждого можно создать автоматизацию в один клик.
Создание расширенной автоматизации с TTS и Telegram
Ну а далее можно настроить уведомление на колонки и если нужно отправлять в Telegram — как в первой статье, но с использованием WashData.
Настройки → Автоматизации и сцены → Создать автоматизацию. Ниже пример, где работа уведомлений в дневное время с 5 утра, др 21 вечера:
alias: Стиральная машина закончила стирку
description: Оповещение на колонки и отправка в Telegram, когда стирка завершена
triggers:
- event_type: ha_washdata_cycle_ended
event_data:
entry_id: ВАШ ID
trigger: event
- entity_id:
- sensor.rozetka_wifi_2_moshchnost
- switch.rozetka_wifi_2
below: 15
for:
hours: 0
minutes: 10
seconds: 0
trigger: numeric_state
enabled: false
conditions:
- condition: time
after: '05:00:00'
before: '21:00:00'
actions:
- action: media_player.volume_set
target:
entity_id:
- media_player.esp32_s3_esphome_pcm5102a_media_player
- media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
data:
volume_level: 0.6
- action: media_player.play_media
target:
entity_id:
- media_player.esp32_s3_esphome_pcm5102a_media_player
data:
media:
media_content_id: media-source://media_source/local/mpd/media/airport-bell.mp3
media_content_type: audio/mpeg
metadata:
title: airport-bell.mp3
thumbnail: null
media_class: music
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd/media
- action: media_player.play_media
target:
entity_id: media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
data:
media:
media_content_id: media-source://media_source/local/mpd/media/airport-bell.mp3
media_content_type: audio/mpeg
metadata:
title: airport-bell.mp3
thumbnail: null
media_class: music
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd/media
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.esp32_s3_esphome_pcm5102a_media_player
message: Енот Геннадий работу закончил. Можно вытаскивать и сортировать бельё
target:
device_id: ВАШ ID
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
message: Енот Геннадий работу закончил. Можно вытаскивать и сортировать бельё
target:
device_id: DFI ШВ
- action: tts.google_translate_say
metadata: {}
data:
entity_id: media_player.yandex_station_ВАШ ID Яндекс колонки
message: Енот Геннадий работу закончил. Можно вытаскивать и сортировать бельё
cache: false
- action: notify.send_message
data:
message: Енот Геннадий работу закончил
target:
entity_id:
- notify.telegram_bot_ВАШ ID
mode: single
Почему именно "Енот Геннадий"? Не спрашивайте. Это вопрос к жене :)
Как узнать ID устройства WashData?
1. Откройте панель WashData
2. Перейдите в Дополнительно → Диагностика
3. Найдите device_id — это длинная строка, которую нужно вставить в автоматизацию
Предупреждение за 10 минут до окончания
Одна из полезных функций WashData — возможность предупредить о скором окончании стирки:
alias: Голосовое оповещение за 10 минут до конца стирки
description: Голосовое оповещение за 10 минут до конца стирки
triggers:
- trigger: numeric_state
entity_id: sensor.washing_machine_time_remaining
below: 10
conditions:
- condition: state
entity_id: sensor.washing_machine_state
state:
- running
- ending
- condition: template
value_template: '{{ trigger.from_state.state | float(0) >= 10 }}'
- condition: time
after: '05:00:00'
before: '21:00:00'
actions:
- action: media_player.volume_set
target:
entity_id:
- media_player.esp32_s3_esphome_pcm5102a_media_player
- media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
data:
volume_level: 0.6
- action: media_player.play_media
target:
entity_id:
- media_player.esp32_s3_esphome_pcm5102a_media_player
data:
media:
media_content_id: media-source://media_source/local/mpd/media/airport-bell.mp3
media_content_type: audio/mpeg
metadata:
title: airport-bell.mp3
thumbnail: null
media_class: music
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd/media
- action: media_player.play_media
target:
entity_id: media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
data:
media:
media_content_id: media-source://media_source/local/mpd/media/airport-bell.mp3
media_content_type: audio/mpeg
metadata:
title: airport-bell.mp3
thumbnail: null
media_class: music
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://media_source
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd
- media_content_type: ''
media_content_id: media-source://media_source/local/mpd/media
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.esp32_s3_esphome_pcm5102a_media_player
message: Кажись до конца стирки осталось около десяти минут
target:
device_id: ВАШ ID
- action: tts.speak
metadata: {}
data:
cache: true
media_player_entity_id: media_player.esp32_s3_3_esphome_pcm5102a_media_player_3
message: Кажись до конца стирки осталось около десяти минут
target:
device_id: ВАШ ID
- action: tts.google_translate_say
metadata: {}
data:
entity_id: media_player.yandex_station_ВАШ ID Яндекс колонки
cache: false
message: Кажись до конца стирки осталось около десяти минут
- action: notify.send_message
data:
message: До конца стирки осталось примерно 10 минут
target:
entity_id:
- notify.telegram_bot_ВАШ ID
mode: single
Отслеживание состояния через сенсоры
WashData создаёт множество полезных сенсоров:
sensor.stiralnaya_mashina_state - Состояние: idle, starting, running, paused, finished
sensor.stiralnaya_mashina_program - Текущая программа стирки
sensor.stiralnaya_mashina_time_remaining - Оставшееся время (в секундах)
sensor.stiralnaya_mashina_total_duration - Общее время цикла
sensor.stiralnaya_mashina_cycle_progress - Прогресс в процентах (0-100)
sensor.stiralnaya_mashina_energy_total - Общее потребление за всё время
sensor.stiralnaya_mashina_current_phase - Текущая фаза (например: "Полоскание", "Отжим")
sensor.stiralnaya_mashina_cycle_count - Количество стирок за всё время
Пример отображения на дашборде. На Гитхабе есть готовые примеры.

Анимированая карточка для Home Assistant
Есть ещё один хороший проект wm_animated_ha_card. Это Lovelace-карточка, которая может превратить все эти наши моечные девайсы на умной розетке в симпатичный анимированный виджет. Можно воспользоваться только этим, но я установил карточку и подкинул свои сущности из установленной WashData.
Вот как это можно выглядеть:


Голосовой ассистент
WashData поддерживает голосовые команды через Home Assistant Assist:
1. Скопируйте файл docs/custom_sentences/en/ha_washdata.yaml из репозитория
2. Поместите его в
3. Перезапустите Home Assistant
Теперь вы можете спросить:
- "Стирает ли сейчас стиральная машина?"
- "Сколько осталось времени до окончания стирки?"
- "Какая программа сейчас работает?"
Я этим честно говоря не пользуюсь. Мне достаточно уведомлений.
WashData Integration превращает вашу стиральную машину из "чёрного ящика" в умное устройство с полным мониторингом. После первоначального обучения (3-5 циклов на каждую программу) система работает практически без вмешательства, точно определяя программы и предсказывая время окончания.
Что мы получили по сравнению с простым способом:
- ✅ Время до окончания стирки
- ✅ Распознавание конкретных программ
- ✅ Подсчёт стоимости каждой стирки
- ✅ Статистика потребления энергии
- ✅ Информация о текущей фазе стирки
- ✅ Предупреждения о скором окончании
- ✅ Голосовые уведомления на колонки и в Телеграм
Теперь ваша стиральная машина действительно умная, и вы всегда точно знаете, когда можно выгружать бельё!