Несколько лет назад я увлекся проектированием системы умного дома и создал для себя удобное пространство, в котором не нужно открывать дверь курьеру или включать настольную лампу для работы. Покажу, что подключил и как работает система. Сразу спойлер: умный дом не зависит от наличия интернета или облачных сервисов.
За период своей сознательной жизни я сменил множество увлечений. Так, я модифицировал прошивки двигателей для автомобилей, разрабатывал свои DIY-устройства, связанные с автомобилями. Они расширяли функциональность, позволяли интегрировать в автомобиль то, что не стояло там с завода. Всё это очень увлекало, я мог часами погружаться в тему и изучать до тех пор, пока глаза не покраснеют.
Сейчас у меня тоже есть увлечение — это умный дом. Расскажу, как строю у себя дома полноценную экосистему. Не претендую на Rocket Science, просто делюсь своим опытом.
Начинал с готовых систем умного дома, но быстро разочаровался
Мое увлечение умным домом началось в 2019 году. Уже тогда на рынке было много различных бюджетных систем от Яндекса, Xiaomi, Tuya. Я протестировал многие: подключил несколько устройств, завел какие-то базовые автоматизации и быстро понял, что готовая экосистема — это развлечение на один раз. С такими системами огромные проблемы:
Ограниченный набор устройств. Чаще всего готовые системы умного дома являются закрытыми и поддерживают только устройства от конкретных производителей. Каждая из них имеет собственную экосистему умных устройств, и, за редким исключением, они несовместимы друг с другом. Пользователи вынуждены использовать сторонние хабы, чтобы объединять устройства разных производителей, это создает неудобства, ограничения возможностями хабов, нестабильность системы.
Ограниченная функциональность. Проблема вытекает из первого ограничения. Например, я пользуюсь экосистемой от Xiaomi и хочу, чтобы по команде включался режим кинопросмотра: закрывалась штора, менялся режим освещения и включался телевизор. Но телевизор не входит в систему Xiaomi, значит, его нельзя интегрировать в умный дом, и приходится включать вручную. Да, есть ИК-пульт, но всё же.
Зависимость от интернет-соединения. Еще один немаловажный момент: такие системы управляются через облачные сервисы, их работа напрямую зависит от наличия и качества канала доступа в интернет. Если доступ нестабилен или пропадает, устройствами невозможно управлять. А еще это ограничивает возможности масштабирования — к бытовому Wi-Fi-роутеру с сохранением стабильной работоспособности можно одновременно подключить небольшое количество устройств.
В итоге получается, что перечень возможностей для объединения различных компонентов в рамках одной системы ограничен. Конечно, есть производители умного дома, которые предлагают более профессиональные решения. У них шире возможности, но проблемы остаются те же самые.
Не захотел мириться с ограничениями и перешел на Zigbee2MQTT и Home Assistant
Не люблю жить с ограничениями и стремлюсь создавать собственные системы, поэтому решил перейти на open source решение, которое работает по локальной сети, практически независимо от наличия интернета.
Отказался от Wi-Fi и выбрал протокол Zigbee. Это беспроводной протокол, структура которого строится на работе нескольких компонентов:
Координатор. Отвечает за инициализацию сети, передачу команд между устройствами и обработку данных. В сети Zigbee может быть только одно устройство-координатор, оно выполняет роль контролирующей станции.
Роутеры. Устройства, предназначенные для перенаправления данных между другими устройствами в сети. Они помогают расширять зону покрытия и повышать надежность соединения.
Устройства. Конечные девайсы, подключенные к сети Zigbee, которые принимают и передают данные, — те самые датчики, светильники, термостаты.
В сети Zigbee узлы могут сами менять маршруты соединений, переходя с роутера на роутер, с роутера на координатор и наоборот. Протокол независим от интернет-соединения, а интеграция Zigbee2MQTT поддерживает устройства более чем 400 вендоров и позволяет в рамках одного умного дома интегрировать огромное их количество — до 65 535 согласно спецификации Zigbee 3.0. У самих устройств высокая энергоэффективность, беспроводное питание и низкое энергопотребление.
Развернул свой сервер умного дома на базе мини-ПК Raspberry Pi 4 Model B 8Gb в корпусе Argon One M.2. Установил в него Zigbee-стик v.4 на CC2652. Благодаря интеграции Zigbee2MQTT я могу в любой момент интегрировать в систему практически любые устройства из более чем трёх тысяч девайсов различных вендоров, и для этого не требуется подключать сторонние хабы, объединять их с помощью костыльных решений.
В качестве программного обеспечения выбрал Home Assistant. Это система управления умным домом с открытым исходным кодом.
Перед тем как сделать выбор, я сравнивал OpenHAB, Domotix и Home Assistant. Одним из главных преимуществ Home Assistant является ее гибкость: система позволяет настраивать автоматические действия и сценарии, а также создавать собственные программные интерфейсы для управления устройствами. Кроме того, Home Assistant поддерживает интеграцию с другими системами управления умным домом — например, Apple HomeKit или Умный дом от Яндекса.
У других систем также есть подобные интеграции, но Home Assistant сейчас наиболее активно развивается. У него огромное комьюнити, участники которого помогают в развитии по всему миру.
Среди недостатков Home Assistant можно выделить то, что не все задачи можно решить при помощи графического интерфейса. Несмотря на то что за последний год команда разработки ПО сделала большой шаг в пользу создания инструментов для no-code-настройки, пока необходимы хотя бы минимальные знания для ручных настроек и написания кода — это может быть проблемой для начинающих.
Спроектировал собственный интерфейс управления
Код интерфейса управления я писал параллельно с установкой датчиков и первых умных устройств. В Home Assistant есть блочный no-code-конструктор, но он недостаточно гибкий, и мне гораздо интереснее выстраивать систему с чистого листа. Как только появляется новый блок управления или устройство, я добавляю соответствующий элемент на рабочий экран в интерфейсе.
Для каждой зоны в квартире разработал отдельные экраны мониторинга и управления устройствами. На них вывел графики температуры и влажности, управление группами устройств в конкретных помещениях.
Данные на каждом экране разделены на три тематических блока: освещение, климат, мультимедиа.
Виджеты с графиками показывают состояние помещений в реальном времени: климат, активные устройства.
Интерфейс управления системой доступен с любых устройств. На входе в квартиру я установил планшет, и теперь он выполняет роль главной панели управления. Можно, проходя мимо, включить любое устройство — например, по нажатию запустить пылесос перед уходом из дома или голосом попросить это сделать Алису или Google Assistant.
Автоматизировал управление освещением и отоплением
Освещение. Первое, с чего обычно начинают устройство умного дома, — это автоматизация освещения. Можно установить проходные или сценарные выключатели, датчики движения, умные лампочки, подсветку — и с помощью одной кнопки управлять целой группой освещения.
Самый распространенный сценарий — освещение в прихожей. Приходишь в квартиру, открываешь входную дверь, и срабатывает датчик движения. Включается свет. Когда уходишь, датчик перестает фиксировать движение, и через 2–3 минуты свет гаснет.
Сейчас у меня в гостиной несколько различных источников света. Есть основная люстра, контурная подсветка, торшер и освещение за телевизором, а еще настольная лампа на рабочем столе. На входе в комнату я установил выключатель с шестью клавишами и с его помощью могу управлять устройствами, которые физически не связаны с выключателем и друг с другом — для этого достаточно написать скрипт. Могу добавить в контур другое устройство: например, к Новому году подключил управление елочной гирляндой.
Отопление. У меня батареи с регулировкой температуры: на коллекторе есть поворотный механизм, с помощью которого можно регулировать нагрев. Вместо стандартного регулятора на каждую батарею я установил беспроводные термоголовки Moes BRT-100-TRV.
Они работают от батареек, но, как я уже говорил, Zigbee-устройства очень энергоэффективные, поэтому термоголовки работают без замены аккумуляторов уже два года. Также установил датчики температуры, чтобы система считывала уровень тепла в помещении в целом, а не рядом с батареей.
Так же подключается отопление, которое управляется через щит управления отоплением, — в этом случае подбираются термоголовки намного проще и чаще всего с постоянным питанием и устанавливаются на главный коллектор.
Сейчас система снимает показания с датчика и позволяет управлять термоголовкой удаленно. Достаточно установить желаемую температуру, и при ее достижении термоголовка будет отключать нагрев. Если температура в помещении будет ниже установленной, термоголовки откроются, и батареи начнут греться. Также учитывается режим проветривания по датчику открытия окна.
Добавил в систему управление различными устройствами и настроил автоматизации
Умные гаджеты — часть комфортного дома, а поскольку ограничения по брендам или количеству устройств на мою систему уже не распространяются, я интегрировал в умный дом:
увлажнитель воздуха;
очиститель воздуха;
робот-пылесос;
Яндекс Станцию;
приставку PlayStation 5;
телевизор;
умный карниз.
Под каждое устройство в интерфейсе Home Assistant разрабатывал отдельные экраны.
Чтобы система работала без моего участия, настраивал автоматизации. Перечислю несколько сценариев:
Режимы освещения. Например, в ночном режиме по датчику движения загорается свет, а в дневном — нет. Настроил режим chill-out, и в гостиной по нажатию одной кнопки включается легкая подсветка для кинопросмотра.
Выключение всех устройств по нажатию выключателя в спальне. Очень удобно перед сном погасить везде свет.
Автоматическая регулировка температуры в помещении в соответствии с заданными значениями.
Настроил несколько нестандартных сценариев: управление настольной лампой через датчик в кресле и автоматизацию домофона
Конечно, у меня к системе умного дома подключены телевизоры, увлажнитель воздуха, голосовой помощник — это классика. Но кроме этого я настроил несколько нестандартных сценариев, удобных лично для меня:
Освещение рабочего места. В рабочее кресло у меня встроен датчик давления. Он сигнализирует системе умного дома, когда кто-то садится на кресло. Автоматически включается настольная лампа. Когда кресло освобождается, датчик перестает передавать сигнал, и лампа сама гаснет — не нужно тянуться к выключателю.
Умный домофон. Домофон тоже интегрирован с системой умного дома, у него есть несколько режимов: «Открыто», «Курьер» и «Закрыто». В режиме «Открыто» система автоматически открывает дверь звонящему, а когда «Закрыто» — сбрасывает звонок. Режим «Курьер» открывает дверь первому, кто звонит в домофон. Этот режим интегрирован со смартфоном — в систему умного дома поступают уведомления из определенных приложений. Например, Яндекс Еда присылает пуш о том, что курьер выехал, — система его считывает и активирует режим «Курьер», открывает ему дверь, а мне в телеграм-бота присылает уведомление о том, что курьер поднимается.
Другой пример автоматизации управления домофоном — по геопозиции. Умный дом считывает местоположение моего смартфона и, если я нахожусь в определенном радиусе от системы, на ближайшие 10 минут активирует режим «Открыто» по геопозиции, и мне не нужно доставать ключи — достаточно набрать номер квартиры, и дверь откроется. Такую настройку можно выполнить для нескольких устройств — например, членам семьи.
Подключил вентиляцию в ванной и теперь хочу интегрировать в умный дом управление водоснабжением
Обычно вытяжка в ванной завязана на включение основного света. Свет горит, вентилятор включен, вытяжка работает. Но как только ты принял душ и выключил свет, вентиляция отключается, а влажность в помещении остается, и достаточно большая.
У меня включением вентиляции управляет отдельное реле, интегрированное в умный дом. Установлены пороги, при какой влажности должна включиться вытяжка, а когда — закончить работу, и должна ли она включаться по движению внутри ванной комнаты.
Вентиляция — история про удобство. Я решил пойти дальше и сделать еще одну полезную модернизацию — управление водоснабжением и умную систему защиты от протечек. Если в ванной установлены датчики, в момент протечки дома будет включаться колонка и сообщать: «Потоп!», а мне придет уведомление в Телеграме. А еще планирую установить на коллектор актуаторы, чтобы вовремя и удаленно отключить подачу воды.
Также в планах настроить энергомониторинг (можно снимать показания счетчиков и контролировать энергопотребление в каждом помещении или по группам) и приточную вентиляцию (проветривание + система оттока застоявшегося воздуха из квартиры).
Зачем это всё?
Встречал мнение, что существует полезная часть умного дома — установить датчики открывания окон, дверей, дыма, а есть развлекательная — подключить голосового помощника, чайник, похвастаться гостям. Я не разделяю это мнение и считаю, что по-настоящему умный дом, как и любой гаджет, должен помогать во всех аспектах жизни:
Безопасность. И за нее отвечают не только датчики открывания окон и дверей. Когда все устройства интегрированы в одну систему, можно удаленно, не находясь в квартире, управлять ими. Если уходишь или уезжаешь из дома, можно проверить, что все они отключены. А система управления водоснабжением сообщит о протечке, и можно будет перекрыть воду автоматически, до возвращения домой.
Различные режимы автоматизации. Очень неудобно запоминать, какая кнопка на выключателе за что отвечает. Неудобно вручную запускать различные устройства, подходя к каждому. Привычнее мыслить сценариями: посмотреть фильм, поработать, отдохнуть. Круто, когда по нажатию одной кнопки включается всё, что нужно. В умном доме можно настроить автоматизации, а еще сменяющиеся автоматически режимы — например, день или ночь. Днем свет при движении в прихожей включать не нужно. Если это ночь, там другая история и другие настройки.
Мониторинг. Можно создавать отдельные дашборды для любого устройства и в динамике отслеживать в помещениях уровень влажности, освещенности, тепла. Проверить, сколько работала PlayStation и играли ли дети в игры вместо уроков :)
Про рабочие проекты в различных отраслях бизнеса, которые реализую, я рассказываю у себя в телеграм-канале.