Стиральная машина home assistant
Лучшие умные стиральные машинки
Умная стиральная машина – это высокотехнологичный бытовой прибор для стирки вещей, поддерживающий систему дистанционного управления. По сравнению с обычными моделями рассматриваемые устройства обладают множеством уникальных функций.
В качестве примера можно привести возможность взвешивания белья, расчет порошка и самостоятельное определение времени для осуществления стирки. Ниже представлен рейтинг лучших умных стиральных машинок, которые можно купить в начале 2021 года.
Принцип действия и особенности умной стиральной машины
Ключевой особенностью умной стиральной машины является возможность управления с помощью смартфона. В такой технике предусмотрен Wi-Fi модуль, посредством которого и производится сопряжение с мобильным устройством.
В первую очередь пользователь должен установить специальное приложение, выступающее в качестве пульта дистанционного управления.
После загрузки ПО предоставляется возможность полного изменения любых параметров, выбор нужной программы стирки, запуск/отключение, использование пара и т.д. Кроме того умная стиральная машина способна выполнять следующее:
Как выбрать умную стиральную машину
К покупке умной стиральной машины следует подходить максимально осторожно, так как это очень дорогостоящее устройство, требующее правильного ухода. В первую очередь пользователю нужно рассчитать свой бюджет и ознакомиться с лучшими моделями всех ценовых классов. После этого стоит учитывать следующие параметры.
Наличие искусственного интеллекта
ИИ – это своего рода программное обеспечение, с помощью которого стиральная машинка способна самостоятельно принимать решения и выполнять различные действия без вмешательства человека. Чем более продвинутым будет искусственный интеллект, тем больше возможностей предложить стиральная машина.
Функция «Time Manager»
Тип управления
Умной стиральной машиной можно управлять несколькими способами – ручная панель, мобильное приложение или голосовой помощник. Последний вариант предусмотрен в более дорогостоящих моделях. Однако самыми надежными считаются устройства с возможностью управления с помощью смартфона.
Функция взвешивания
Данная функция предусмотрена в моделях, предназначенных для стирки больших объемов одежды. В этом случае система взвешивает количество загруженного белья, после чего отображает на экране мобильного устройства допустимые нормы.
Дополнительные функции
Многие дорогостоящие модели обладают некоторыми дополнительными функциями, облегающими жизнь домохозяек:
Производитель
На самом деле производством умных стиральных машин занимается немного компаний. Особое внимание следует уделить продукции Sasmung, которая отличается высоким качеством во всех ценовых классах. Однако стоимость премиум-моделей слишком высока.
Также отличные модели выпускает немецкая компания Miele. К сожалению, стоимость таковых слишком завышена. Оптимальные решения для бюджетной категории изготавливает стремительно развивающийся производитель Candy. Также не стоит забывать о технике LG и Bosch.
Стоимость
Умные стиральные машинки продаются в разных ценовых диапазонах. Можно приобрести устройство и за 20 тысяч рублей, однако в этом случае пользователь получит устройство сомнительного качества с небольшим сроком службы.
Также есть высокотехнологичные модели, стоимость которых превышает 100 тысяч рублей. К сожалению, подобная техника многим не по карману. Оптимальным решением является средний ценовой класс, предлагающий устройства с наилучшим соотношением цены и качества.
Сказ о том, как я Home Assistant настраивал
Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ошибок и быстрее продвинуться в изучении HA.
На Хабре уже есть статьи о HA (раз, два, три), но здесь я хочу рассказать об установке и настройке системы от начала до конца. От первого запуска сервера до полноценно работающей системы, которую потом можно улучшать и дорабатывать для себя.
Основной единицей в HA является интеграция — логика, которая описывает взаимодействие с умным устройством или внешним сервисом. Большая часть полезной нагрузки HA ориентировано на связку: умное устройство + интеграция или внешнее API + интеграция.
Набор моих интеграций
Железо, участвующее в статье:
Сервисы, которые будем использовать:
Установка
Установка HA предельно проста:
Также можно установить на уже имеющуюся систему с помощью Docker-compose:
А теперь разберем несколько сценариев использования.
Отслеживание устройств
Начнем с отслеживания устройств, с помощью которого мы можем фиксировать вход и выход носителей из дома.
Я предлагаю 2 способа отслеживания:
В системе доступно много производителей роутеров. Для старых и не перечисленных в списке моделей можно использовать nmap (более подробно тут).
Если установить на телефон официальное приложение, HA по умолчанию создаст интеграцию, и в системе появится дополнительное устройство, которое можно отследить.
С помощью Xiaomi Router Mi4A
С помощью GPS
Создание системы отслеживания через роутер
Трекинг через локальную сеть роутера требует настройки, в отличие от GPS отслеживания. Два вида трекинга можно комбинировать для повышения точности. Ниже можно заметить, что в моем случае отслеживание через роутер работает лучше, чем через GPS. Зеленая зона значит, что телефон внутри зоны, красная — вне зоны.
Результаты работы отслеживания (сверху — роутер, снизу — GPS)
Можно подключиться через плагин SSH в VS Code, но получить доступ к проводнику в данный момент мне было удобнее. Поэтому, добавим сетевое расположение.
Нажмем обзор, найдем каталог config (мы в основном будем редактировать его) и выберем его как сетевую папку.
Дальше мы можем перейти в созданную папку и открыть ее через редактор.
После перезагрузки HA мы можем увидеть, что у нас появился новый глобальный объект device_tracker и наши устройства в нем.
Трекинг устройств через роутер
Освещение
Теперь, когда мы умеем отслеживать пользователя, мы можем включать и выключать определенные лампочки с учетом информации о его местоположении.
Для этого необходимо произвести действие по определенному событию. В этом нам помогут автоматизации.
Теперь импортируем в наш основной файл весь каталог automation — так нам будет удобнее при написании следующих автоматизаций.
Для того, чтобы получить адаптивное освещение в зависимости от времени суток, нужно настроить цветовую температуру. Это удобно сделать внутри блока switch. Тут важно понимать, что пока данный switch включен, изменить параметры температуры будет невозможно (через interval минус время_с_прошлого_обновления лампа примет старые параметры).
Здесь вы найдете больше про динамическую цветовую температуру (flux в терминологии HA). А если вам интересна тема адаптивного освещения, на Хабре есть отличная статья по этому поводу.
В итоге у нас имеется Telegram бот, готовый к отправке сообщений.
Утренние (или нет) погодные оповещения
Теперь, когда у нас есть настроенный сервис уведомлений и погодная интеграция, мы можем сделать утренние оповещения о погоде.
Создаем новый файл автоматизации, и начинаем писать логику.
Пишем переменную, которая будет отвечать за срабатывание оповещений только по будням. Если он true — то в выходные оповещений не будет.
И подключаем в основном конфиг файле.
Добавим blueprints
Теперь небольшое лирическое отступление в виде рассказа о написании blueprints на примере уведомлений.
В данном случае я бы перевел blueprints не как чертежи, а как шаблоны или заготовки. Их удобнее использовать, если нужно написать несколько похожих автоматизаций, а основную логику оставить нетронутой.
Например, можно упростить создание уведомлений о начинающихся осадках.
“for” — это время, в котором должен оставаться выбранный параметр, чтобы сработал триггер на превышение уровня осадков.
Теперь, когда есть blueprint, мы можем написать автоматизацию с меньшим количеством логики.
Создадим уведомления о начале осадков.
Мы смогли вынести часть функциональности в отдельный файл. В подобных случаях, когда со временем появляется похожий код, можно выносить часть логики в отдельный файл.
Для большей полезности можно изменить шаблон и поменять action на повышение яркости для света в доме или закрытие штор.
Бэкапы
Можно настроить создание резервных копий в Google Drive:
После этих манипуляций мы получаем регулярное создание бекапов, важность которых сложно переоценить.
NodeMCU
Так как умного градусника у меня нет, а температуру измерять хочется, воспользуемся ESP8266.
Сначала установим интеграцию ESPHome из официального списка интеграций.
Для каждого микроконтроллера, используемого в системе, требуется создать файл с подобным содержанием.
Подключимся к WiFi
По умолчанию используются секреты только от ESPHome. А для того, чтобы подгрузить секреты из HA, можно создать отдельный файл, где мы заинклудим эти секреты.
Теперь подключим data pin (обычно это средняя нога) термометра к D2 порту, дадим на него питание и землю. Потом создаём сам термометр (DHT11) и две переменные, которые будем отслеживать в HA.
Дальше нужно скомпилировать прошивку и загрузить на контроллер. Если он подключен напрямую к Raspberry Pi, то мы увидим его на /dev/ttyUSB0 и сможем загрузить прошивку в первый раз. Все последующие обновления можно загружать по воздуху. А если в списке устройства не видно, то можно скачать прошивку и воспользоваться ESPHome-Flasher.
Если все заработало, то в Developer Tools мы увидим созданные переменные.
Немного оптимизации
По умолчанию в HA используется SQLite, и сброс данных на диск происходит часто (каждую секунду). Это может привести в скором времени к выходу из строя SD карточки на малинке (если сервер стоит на ней). Чтобы продлить срок службы карточки, скажем HA, что нужно записывать на диск раз в commit_interval и исключить некоторые сущности, которые мы не хотим отслеживать на длинном временном промежутке (или вообще не хотим отслеживать).
Если мы хотим использовать СУБД, отличную от SQLite, то можно сделать один из следующих пунктов на выбор:
Отслеживание системных параметров
Чтобы отслеживать остаток свободной памяти, загруженность процессора или скорость Интернет соединения, мы можем добавить мониторинг показателей системы.
При желании можем создать автоматизацию, которая при критических показателях будет отправлять уведомление о необходимости принятия мер.
Также мы можем посмотреть Uptime сервера.
Заключение
В итоге мы создали несложную систему умного дома, которую каждый может расширить покупкой новых устройств или написанием своих продуманных и продвинутых автоматизаций. По этой ссылке можно найти полную версию моих автоматизаций дома.
Главный экран
Что дальше? Можно добавить HACS (сборник UI компонентов и даже целых интеграций от коммьюнити, пригодится при использовании Яндекс Станции) и установить несколько UI элементов. Можно интегрировать умную колонку или телевизор и включать их по определенному условию. Вариантов апгрейда бесконечное множество.
Умный дом на Home Assistant
Многие слышали это название, но не все сталкивались с данным ПО напрямую. Моя статья призвана рассказать подробнее про такую интересную, многофункциональную, мощную, не без своих недостатков систему, как Home Assistant.
Что же это такое?
По сути, Home Assistant система интеграции и автоматизации устройств умного дома и не только от самых разнообразных брендов. Написана на языке программирования Python и имеет открытый исходный код. В последнее время имеет большую популярность благодаря большому количеству статей по настройке и установке, а так же возможности запуска практически на любом утюге и холодильнике с Linux в качестве операционной системы. Так же есть различные вариации установок, о некоторых из них я уже писал на портале.
Автоматизации
Не самая приятная тема для рядового пользователя, который впервые увидит Home Assistant. Во-первых, большую гибкость даст именно ручное написание автоматизаций. Во вторых, для этого надо быть, как минимум, уверенным пользователем ПК и уметь строить логические цепочки, и да, писать их надо будет текстом.
Те самые, ужасные строчки программерского кода в автоматизациях.
Хотя в последней версии HA есть возможность создавать простые автоматизации просто написав то, чего вы хотите. Например “Выключить весь свет когда все уходят из дома”, естественно на английском.
Так же их можно создавать из веб интерфейса, хотя большой гибкости от этого инструмента ждать не приходится.
Интеграции
На данный момент Home Assistant имеет более тысячи интеграций устройств различных брендов.
Сцены
Допустим, уходя из дома и ложась спать, вы выключаете весь свет и делаете отопление поменьше. В сцене можно прописать данные действия и в дальнейшем вызывать сцену а не повторяться в двух разных автоматизациях.
Использование других систем умного дома
Не смотря на самодостаточность HA, его можно использовать для взаимодействия с другими популярными умными домами. На данный момент поддерживаются следующие интеграции:
По настройке первой у нас есть отличная статья, а вторая работает из коробки путем минимальных настроек в конфиге системы. Да, не все так гладко, как хотелось бы, и в некоторых случаях придется помучиться, но к сожалению на данный момент частично это связано с ограниченным типом устройств в самом Home Assistant, а частично с принципом интеграции в других системах УД. Например для Google Home и умного дома Яндекс, вам необходимо настроить ssl на своем сервере. Причем интеграция с Яндексом до сих пор не представлена в виде официального компонента, но ее можно настроить и установить используя кастомный компонент.
Другие фишки
На самом деле в статье описаны базовые функции, однако HA этим не ограничивается, и если глубоко копнуть и подключить свои навыки программирования, можно сделать его возможности поистине колоссальными. Вот например список установленных у меня дополнений. Какими-то я пользуюсь постоянно (зелененький значок), какие-то я запускаю изредка при надобности (серенький значок):
И конечно же, как у любой уважаемой себя системы умного дома, у нее есть свое приложение под iOS и Android (последнее появилось недавно но регулярно обновляется):
Его возможности в основном дублируют веб морду, но так же его можно использовать как компонент отслеживания своего местоположения, и на нем уже завязывать различные автоматизации. На iOS так-же можно считывать данные с батарейки, акселерометра, пройденного расстояния, текущей WiFi сети и прочего, чему можно найти применение если вам это зачем-то нужно.
Выводы
Я считаю, что Home Assistant не зря считается популярной системой умного дома, и в принципе его возможностей хватит большинству людей, интересующихся умными домами. Что же касается преимуществ и недостатков, то можно отметить следующее:
Плюсы
Минусы
Я считаю, что плюсов у HA гораздо больше чем минусов, хотя многие со мной и не согласятся, но это просто вопрос подхода. У системы явно есть будущее, главное что бы авторы не забросили проект, но к этому пока нет предпосылок.
А мне статья понравилась, очень все структурировано. Тому кто только начнет вливаться в УД очень поможет, Я на портале месяца 4, честно каша в голове полная: хомкиты, ХА, малинки, куча хабов, голосовых помощников, разные протоколы, скрипты, плагины. Пока общая картина из всего этого сложится, сто раз себя отговоришь заниматься этим, меня перепрошивки и плагины не пугают, нравится во всем этом разбираться, но из-за этой каши и отсутствия структурированной инфы реально боишься начать. Мне кажется несогласным просто страшно что в сообщество хлынут нубы с тупыми вопросами, но по мне это тупиковая логика, так нишу не развить.
Если в инете есть подробная инструкция как подняться свой сервер, развернуть образы ХА и запустить наконец первую лампочку Алисой на ХА поделитесь плиз. ЗА статью плюсую, подписался
Сложно. Долго. Ох*eнно.
Примерно так происходило знакомство и как по мне все ещё в этой стадии, но точно после этого не на какие системы смотреть не хочется. В HA есть все, что можно себе вообразить, а чего нету — сделают.
Автоматизации в Home Assistant
Home Assistant — это совершенно отличная штука чтобы делать «Умный дом». Можно подключить в HA разные устройства и создать удобный интерфейс для управления всеми этими устройствами.
Но кроме ручного управления устройствами Home Assistant позволяет создавать «Автоматизации» — действия выполняются автоматически при выполнении определенных условий.
Несколько примеров что можно сделать с помощью автоматизаций в Home Assistant:
Но даже самое простое действие «нажали на кнопку — включили свет» в Home Assistant настраивается с помощью автоматизации.
Все устройства, которые подключены к Home Assistant могут выполнять свои действия по команде из автоматизаций.
Создание автоматизации
Существует два способа как можно создать или изменить автоматизацию:
Большинство людей, которых я знаю, пишут автоматизации в текстовых файлах и не используют веб интерфейс редактирования автоматизаций. Но вы сами смотрите, какой вариант работы с автоматизациями вам будет удобнее.
Редактирование файлов и использование графического интерфейса в итоге делает одно и то же. Главное понять идею — как работают автоматизации, а способ как настраивать автоматизации не очень важен.
В этом тексте я буду показывать автоматизации с помощью редактирования текстовых файлов.
В Home Assistant есть главный файл с настройками системы — файл /config/configuration.yaml Вполне возможно записывать все настройки HA только в этот файл и не использовать другие файлы. Но файл configuration.yaml который создается при первом запуске Home Assistant предлагает создавать автоматизации в отдельном файле. В файле /config/configuration.yaml есть вот такой фрагмент:
Этот кусок конфига говорит что автоматизации нужно брать из файла /config/automations.yaml
И для начала это прекрасное решение. В рамках этого текста мы будет редактировать только один файл — /config/automations.yaml
(Вообще есть несколько разных способов как удобно разбивать конфигурационный файл на разные файлы, но этот текст не об этом, а про автоматизации)
Включение «Advanced Mode»
Перед тем как продолжать, нужно выполнить одну настройку.
Нужно зайти на страницу http://IP:8123/profile и установить там галку «Advanced Mode»:
Эта галка влияет на то что отображается на странице http://IP:8123/config/server_control
Если галки нет (состояние по умолчанию), то на странице есть только кнопки перезапустить и остановить:
Но если поставить галку, то на странице появятся дополнительные действия, которые упростят и ускорят работу:
Первая автоматизация
Вот пример самый простой автоматизации. В файл /config/automations.yaml нужно записать:
После того как файл отредактирован нужно сказать HA чтобы он заново прочитал свои конфигурационные файлы и сделал все то что в них описано.
Для этого нужно зайти на страницу http://IP:8123/config/server_control и нажать на кнопку «Check Configuration». Должен появиться текст «Configuration valid!»:
А после этого нужно нажать на кнопку «Reload automations»:
(если на этой странице вы не видите кнопок «Check Configuration» и «Reload automations», то нужно включить «Advanced Mode» как описано в предыдущем разделе)
Поздравляю! Вы создали свою первую автоматизацию. Это исключительно простая автоматизация. И она очень скучная: она ничего не делает, но это настоящая автоматизация в HA.
Каждый раз после изменения yaml файлов в которых описаны автоматизации нужно заходить на эту страницу и нажимать кнопки «Check Configuration» и «Reload automations».
Исследование автоматизации
То что добавили мы в конфиг создало автоматизацию «automation.first». Можно добавить ее в интерфейс:
Переключался влияет на то включена ли эта автоматизация или выключена. Если ее выключить, то она не будет выполнять свои действия. Иногда бывает удобно вынести некоторые автоматизации в интерфейс, чтобы можно было управлять, работают ли они или нет.
Если кликнуть по названию, то становятся видно когда эта автоматизация последний раз запускалась (в нашем случае она еще ни разу не запускалась), плюс появляется кнопка Execute с помощью которой можно руками запустить эту автоматизацию (это бывает нужно достаточно редко):
Проблемы при создании автоматизации
Прямо сейчас у нас есть одна корректная автоматизаци. Давайте попробуем отредактировать эту автоматизацию, написать неправильно и посмотреть что будет. Удаляем все что есть в файле /config/automations.yaml и записываем в него только одну строчку:
Заходим на страницу http://IP:8123/config/server_control и нажимаем на кнопку «Check Configuration». Появляется ошибка:
Т.е. проверка конфигурации говорит нам что мы неправильно описали автоматизацию. Если внимательно прочитать текст ошибки, то видно что система ругается на две вещи:
Эта два элемента «trigger» и «action» являются обязательными. Их всегда нужно записывать в автоматизации. Но мы когда создали автоматизаци еще указывали «condition».
Возвращаем обратно правильный вариант автоматизации, нажимаем кнопки «Check Configuration» и «Reload automations».
Структура автоматизации
Автоматизация состоит из трех элементов:
Очень часто автоматизация состоит из trigger и action. Происходит какое-то событие на которое настроен trigger и выполняется то что написано в action. Раздел «condition» тоже часто используется, но есть не всегда.
Редко, но бывают но бывают автоматизации которые состоят только из одного action (trigger и condition пустые). Автоматизация только из action бывает нужна чтобы сделать кнопку в интерфейсе по нажатию на которое выполняется все действия из автоматизации.
Дальше мы рассмотрим все эти элементы автоматизации подробно, но в другом порядке.
Action
То что описывается в разделе «action» — это самое главное зачем вообще создается автоматизация. В этом разделе записывается какое действие нужно выполнить.
Например, это может быть:
Давайте создадим новые автоматизации, которые управляют светом.
У меня в Home Assistant заведена настолько лампа Xiaomi. В HA она называется light.lamp.
Добавляем в файл /config/automations.yaml
Добавляем автоматизации в интерфейс:
Заходим в автоматизацию automation.light_bright и нажимаем на кнопку Execute:
Результат — свет включился на полную яркость. Заходим в автоматизацию automation.light_dim, нажимаем кнопку Execute — яркость света стала минимальная.
Очень удобно сначала отработать то что хочется запустить сначала в этом инструменте, а потом перенести получившиеся настройки в конфигурационный файл с автоматизациями. То что выбрано в интерфейсе в ниспадающем списке Services нужно записать после «services:», а то что находится в «Service Data» нужно разместить после «data:». (то что записано в поле Entity никуда переносить не нужно, так как это же информация содержится в поле «Service Data»).
Иногда хочется выполнить несколько действий в одной автоматизации. Вот пример. При выполнении этой автоматизации сначала включается лампа light.lamp, а после нее тут же включается light.led:
Можно указать более чем два действия.
Иногда хочется сделать несколько действий, но с паузой между ними. Вот пример:
При выполнении этой автоматизации сначала включается light.lamp, а через 5 секунд включается light.led.
Строка «- delay: 00:00:05» говорит HA что нужно сделать паузу в 5 секунд. (Текст с рассказом про разные форматы времени в HA).
Значение action можно записывать в двух форматах. Полная форма, указывается service, а все данные указываются в data:
Но когда в data есть только entity_id, то удобнее использовать сокращенную форму. В этом случае data не нужна, entity_id указывается на том же уровне что и service:
И в том случае если в action выполняется только одно действие, можно записывать без использования массива:
Trigger
В разделе trigger описывается что должно произойти что чтобы запустилась автоматизация.
Несколько примеров что может являться триггером:
Вот пример автоматизации которая включает свет по нажатии кнопку (свет включен — нажатие кнопки его выключит, свет выключен — включает):
А вот как включить вентилятор в ванной когда влажность стала больше 50%:
Это автоматизация включит вентилятор, но если оставить только одну эту автоматизацию, то вентилятор никогда не выключится. Нужно создать еще одну автоматизацию в пару к этой:
В trigger обязательно указывается platform. В зависимости от того какая платформа указана триггер запускает автоматизацию на разные действия. В предыдущих примерах мы использовали две разные platform:
Есть еще много других platform, вот некоторые из них:
Вот пример как можно автоматически включать свет когда зашло солнце:
В данной автоматизации в триггере используется платформа state. Свет включается когда статус сущности «sun.sun» стал «below_horizon». Можно сделать автоматизацию которая делает то же самое с помощью платформы «sun»:
А можно просто сказать Home Assistant чтобы он включал свет в 7 часов вечера:
Лучше привязывать включение света не к определенному времени, а к положению солнца, так как в разные дни темно становится в разное время. Платформе sun можно указать что нужно запускать автоматизацию за какое-то количество минут до заката. Вот как включать свет за 10 минут до заката:
Но еще лучше установить специальный датчик освещенности и включать свет по данным с него.
В разделе trigger можно указать несколько разных триггеров. Автоматизация запустится при выполнении любого из них. Вот автоматизация которая всегда включает вентилятор в ванной комнате ночью или если влажность в ванной комнате больше 50%:
condition
В разделе condition записываются дополнительные условия которые необходимы для запуска автоматизации.
Возникает резонный вопрос. А зачем это? Разве недостаточно одного триггера? Оказывается, в некоторых ситуациях только одним триггером не обойтись.
Вот пример автоматизации уличного света на даче. Нужно чтобы уличный свет включался когда кто-то есть на даче и на улице темно. Вот как это сделано у меня:
Эта автоматизация запускается когда кто-то приехал на дачу (сенсор binary_sensor.somebody_at_dacha переходит в статус ‘on’), плюс эта автоматизация запускается каждые 5 минут.
В condition проверяем что уличный свет выключен и что солнце низко. Только если оба эти условия совпадают, то включается уличный свет.