Умный дом с котом: мой опыт автоматизации домашней рутины
Как автоматизировать дом, чтобы кошачий лоток отправлял в «Телеграм» сообщения, что его пора почистить, а на экране ТВ появлялось сообщение, что ванная комната освободилась. Об этом рассказал наш комьюнити-менеджер Игорь Губайдуллин, инженер с 20-летним опытом работы.
Умный дом стал его хобби пять лет назад. Началось всё с робких шагов по освоению Apple HomeKit, а закончилось выделенным сервером умного дома с Home Assistant на борту.
- Все началось с Apple
- Переход на Homebridge
- Выбор в пользу open source
- Как всё работает сейчас
- Об экономии в умном доме и дальнейших планах
Мой умный дом — это обыкновенная двухкомнатная квартира, где климат, свет и бытовые устройства вроде робота-пылесоса или рулонных штор автоматизированы на базе открытой платформы Home Assistant. Меня эта платформа полностью устраивает, хотя периодически я всё равно что-то дорабатываю или перенастраиваю, если наши привычки меняются. Из последних нововведений: поменял датчики движения на датчики присутствия, с ними точность срабатывания автоматизаций значительно возросла.
Всё началось с Apple
Я всегда был большим поклонником техники Apple и её экосистемы. У Apple есть собственная система для умного дома под названием Apple HomeKit, и когда в начале 2019 года я заинтересовался концепцией умного дома, у меня уже была приставка Apple TV и не только.
Чтобы начать строить умный дом, нужен в первую очередь хаб — головной девайс, связывающий все компоненты умного дома в единую систему. Применительно к Apple эту роль может выполнять телевизионная приставка Apple TV или колонка HomePod, либо, до недавнего времени, iPad. Имея одно из этих устройств, уже можно приступать к работе: закупать датчики, подключать их.
Так что именно имеющаяся у меня приставка Apple TV послужила отправной точкой для дальнейших изысканий.
Сразу же отмечу одну неприятную особенность коммерческих систем: к ним можно подключать только совместимые, заранее одобренные устройства. Это справедливо как для Apple, так и для всевозможных Xiaomi, Tuya и Aqara.
Подход я с самого начала предпочёл нестандартный: вместо того чтобы вкручивать по всему дому лампочки и умные розетки, решил начать с климата. Нашёл в интернете совместимый с HomeKit очиститель воздуха, установил и подключил его. Никакого экшена — всё заработало из коробки. Скучно 🙂 По горячим следам я написал обзорную статью на популярный в то время портал Sprut.AI.
Через какое-то время мне на глаза попалась термоголовка для регулирования температуры батареи отопления, тоже совместимая с Apple HomeKit. Про неё я написал ещё один подробный обзор, когда её интегрировал.
Конечно, насчёт света я слукавил. Была попытка установить умный выключатель света фирмы Koogeek. Но он оказался несовместим с разводкой электросети в квартире. Интегрировать не получилось, пришлось продать на «Авито».
Расширяем возможности HomeKit с помощью Homebridge
Как известно, аппетит приходит во время еды. Поэтому я решил не останавливаться на достигнутом и вскоре нашёл на одном ресурсе инструкцию по сборке датчика контроля концентрации углекислого газа в воздухе на ESP8266. Узнал, что если в помещении слишком высокий уровень содержания CO2, может начать болеть голова. «Полезно!» — подумал я и устремился на AliExpress за деталями. Заказал, дождался, собрал, прошил — и всё на удивление заработало. Однако был нюанс: самодельный датчик, разумеется, никак не мог быть сертифицирован Apple, поэтому в моём умном доме прописать его не получилось бы.
Ситуация не безвыходная: существует такой опенсорсный проект, как Homebridge. Он позволяет подключать к Apple HomeKit любые устройства, даже несовместимые с ним изначально. Фактически это программная прослойка между Apple HomeKit и миром несертифицированных яблочной компанией гаджетов. Но чтобы запустить Homebridge, нужен хотя бы самый примитивный домашний сервер. Так что новый этап строительства умного дома начался с покупки Raspberry Pi, или «малинки» в просторечии.
На базе этого одноплатника я легко развернул Homebridge, после чего смог наконец подключить свой самодельный датчик CO2 к системе. Теперь, если в комнате становилось душно, автоматически запускался очиститель воздуха, а я знал, что пора открыть окошко. Спустя некоторое время пришло понимание, что очиститель воздуха сам по себе никак не влияет на уровень CO2, и я исправил это недоразумение. На всякий случай поясню, о чём речь, чтобы вы ненароком не повторили эту ошибку.
Мойка воздуха очищает его от пыли, запахов, но от CO2 избавить не может. Сейчас у меня настроена система, основанная на принудительной приточной вентиляции. Это пробурённое в стене дома отверстие на улицу. В нём установлен вентилятор с фильтром, который нагнетает воздух с улицы, очищает его и подаёт в комнату. Теперь датчик CO2 работает в связке с этой приточной системой. Если уровень углекислого газа выше 1200 ppm, начинает болеть голова, появляется усталость. Я настроил систему так, что при концентрации выше 1000 ppm автоматически включается приточная вентиляция, а после снижения до приемлемого уровня — выключается.
Получив возможность подключать к умному дому любые сторонние устройства, я потихоньку докупил разных датчиков от Aqara, Xiaomi и Tuya и успешно интегрировал их в Apple HomeKit. Плюс собрал ещё несколько самоделок на ESP. Однако у них есть существенный минус лично для меня: они работают только по вайфаю, в то время как для умного дома существуют специализированные энергоэффективные протоколы. Мне очень нравится Zigbee: для питания датчика достаточно одной батарейки, и она будет служить годами, не требуя замены. А вайфай-устройствам непременно требуется внешнее питание (знаю, знаю, что датчиков CO2, даже зигбишных, на батарейках не бывает, но речь о других). Кроме того, их нельзя использовать для ретрансляции сигнала, в отличие от того же Zigbee, где каждое устройство может выполнять функцию роутера для своих соседей, которые «не добивают» до хаба. Но куда деваться, приходится жить с тем, что в умном доме есть гаджеты и на вайфае, и на Zigbee, и даже что-то на блютусе.
Все развиваются, и скоро на смену этому зоопарку протоколов должен прийти единый удобный протокол Matter. Устройства с его поддержкой уже есть на рынке. Говорят, что с ним всё будет совсем легко и просто. Посмотрим.
Переход на новый уровень: Home Assistant
Со временем система Apple стала мне тесновата. Хотелось создавать более сложные автоматизации, чем предусмотрено вендором. Например, чтобы в конкретных местах при соблюдении ряда условий зажигался свет. Или запускались цепочки действий при достижении каких-то пороговых значений на датчиках и со сложными условиями. По своей сути умный дом и есть автоматизация рутинных процессов. Всё настраивается так, чтобы в типовых сценариях действия совершались без участия человека. А без сложных (по меркам HomeKit) сценариев здесь никак.
Это и стало толчком к решению, что дальнейшее развитие системы умного дома будет строиться уже без привязки к Apple HomeKit, а на базе какой-нибудь продвинутой опенсорсной системы, способной при этом служить и хабом для устройств, и движком автоматизации. Выбор пал на Home Assistant, хотя популярный в некоторых кругах Node-RED я тоже попробовал. В пользу Home Assistant говорили и огромное комьюнити, и множество публикаций в интернете. Так что я решил развернуть Home Assistant на том же Raspberry Pi, благо Homebridge мне больше не понадобится.
Устанавливая Home Assistant в те времена, нужно было быть готовым к тому, что без ковыряния в командной строке не обойтись. Меня это не пугало: более того, я превратил это занятие в своё новое хобби, так как проблем с Linux, благодаря профессии, у меня никогда не было. Несмотря на суровость Home Assistant (особенно её ранних версий) к пользователю, она давала огромные возможности, позволяла тонко настраивать все устройства и взаимосвязи между ними. Очень помогало большое русскоязычное сообщество в «Телеграме», достаточно много информации есть на «Ютубе». Мои возможности росли, а вместе с ними стал активно и разнонаправленно развиваться и мой умный дом.
Apple TV превратился из главного управляющего устройства в рядовой мультимедийный компонент системы. Поскольку одна из функций Home Assistant — служить бриджем в Apple HomeKit, всё, что подключено к Home Assistant, можно добавить и в HomeKit. Поэтому я по-прежнему могу управлять умным домом и всеми подключёнными устройствами через приложение «Дом» на iPhone или, скажем, попросить Siri поднять шторы в зале.
Изначально я развернул систему на базе Raspberry Pi, но у «малинки» есть свои недостатки: ненадёжная дисковая подсистема на базе SD-карты, шумный вентилятор охлаждения, который из соседней комнаты не давал спать моей жене 🙂 Поэтому я отправился на «Авито» и нашёл там готовый мини-ПК Gigabyte с бесшумной пассивной системой охлаждения и с SSD-диском.
К тому же гораздо более мощный. Возможности умного дома снова существенно подросли. Со временем даже этот сервер стал тесноват, и я заказал на AliExpress другой, ещё более навороченный. Как правило, большинству людей хватает и «малинки», а компьютер покупается, если нужно подключить камеры наблюдения. У меня камеры были одно время, но в целом общая скорость и отзывчивость системы кратно возросла с переходом на новое железо. К тому же мини-ПК стал использоваться и как файловый и медиа сервер, помимо функциональности сервера умного дома.
Как всё работает сейчас
Нельзя сказать, что умный дом — это просто. У всех домашних было своё видение, и даже кот не исключение. Приходилось идти на компромиссы и изворачиваться, чтобы всем было удобно. Например, датчики присутствия для управления светом пришлось настраивать так, чтобы они видели людей, но не видели кота, а расписание работы автоматизаций тонко подстраивать под расписание жены.
На настройку интерфейса ушли месяцы — хотелось добиться наглядности и удобства управления.
Вот какие автоматизации мне удалось реализовать.
Свет на кухне. На кухне установлена декоративная подсветка (стол, кухонный гарнитур, потолок), а также свет для рабочего столика жены. Верхний, главный, свет я не стал автоматизировать, и он управляется только вручную или голосом.
Суть автоматизации такова: когда кто-то заходит на кухню, в зависимости от показаний датчика освещённости (установлен ряд пороговых значений), по срабатыванию датчика присутствия включается определённая группа света, кроме верхнего. В ночное же время включается только подсветка потолка, получается приглушённый свет. Для автоматического выключения света тоже есть несколько условий: он выключается только тогда, когда по данным датчика присутствия никого нет в комнате, а датчик движения показывает, что за рабочим столом жена не сидит.
Шторы по календарю. Простая, но самая любимая в нашей семье автоматизация. Автоматическое открывание и закрывание штор. На окнах у нас установлены рулонные шторы блэкаут. Управляются они цепочными моторчиками Aqara. У штор тоже есть условия срабатывания: система определяет, рабочий сегодня день или выходной (Home Assistant можно настроить в соответствии с российским календарём праздников), дома ли тот или иной член семьи, и в зависимости от этого поднимает утром шторы раньше в будние дни или позже в выходные и праздники. А закрываются они сами, по закату солнца. Голосом, конечно, управляются тоже — Siri или Алиса всегда к вашим услугам.
Полив цветов. Ещё у нас автоматизированы оповещения о том, что пора полить цветы, — спасибо датчикам влажности почвы. Оповещения приходят, если почва в горшках слишком сухая. Система присылает всем домашним сообщения в «Телеграм», а если кто-то есть дома, Алиса громким и строгим голосом требует позаботиться о растениях. Конечно, существуют и более сложные зигбишные датчики и даже целые системы капельного полива, но я не вижу смысла заморачиваться с ними, так как в нашей семье живёт всего-то пара фикусов.
Датчик для кошачьего лотка. На кошачьем лотке стоит датчик вибрации, и когда кот посещает лоток, в санузле автоматически включается вытяжка. А всем домочадцам приходит настоятельное оповещение в «Телеграм», что требуется гигиеническая процедура для кошачьего туалета.
Влажность в комнате. Другой датчик определяет уровень влажности воздуха. Если в комнате становится слишком сухо, автоматически включается увлажнитель воздуха. Он выключается, если заданный порог уровня влажности превышен. Приходится следить только за уровнем воды в увлажнителе.
Люди в ванной. Иногда наша дочь подолгу занимает ванную комнату, пока мы с женой смотрим телевизор. Чтобы не стучаться каждые полчаса, я настроил вывод уведомления прямо на экране ТВ. Как только дочь выходит из ванной, мы видим на нём сообщение: «Ура! Ванная свободна!». Когда кто-то занимает ванную, телевизор тоже об этом уведомляет.
Ёлочная гирлянда. Новогодняя ёлка у нас украшена адресной светодиодной лентой с управлением на базе ESP32 и прошивкой WLED. Можно включить любой из множества красивейших эффектов. Популярная вещь, очень легко интегрируется. Я настроил автоматизацию в Home Assistant так, чтобы раз в 10 секунд из огромной базы эффектов рандомно брался и проигрывался новый случайный эффект.
Доступ к умному дому есть из любой точки мира, где есть интернет. Реализовано это с помощью Cloudflare Tunnel, соединение зашифрованное и защищённое. Соответственно, когда мы уезжаем в отпуск, срабатывает автоматизация, которая включает режим отпуска или нашего долгого отсутствия: отключается всё, что не должно работать, батареи переключаются в режим лёгкого подогрева зимой и так далее. При необходимости можно с помощью приложения на телефоне что-то включить или выключить отдельно.
Автономность. Моя система умного дома не связана ни с какими облаками, абсолютно автономна и зависит только от наличия электричества. Даже это ограничение можно обойти с помощью ИБП. Я устроил систему бесперебойного питания, которая поддержит работу всего умного дома в течение 6–7 часов.
Безопасность. Что касается безопасности самих устройств: что ж, тут всё на свой страх и риск. Как известно, в аббревиатуре IoT буква S обозначает Security :)
Об экономии в умном доме и дальнейших планах
Часто встречается мнение, что умный дом позволяет экономить. Это неправда.
С одной стороны, конечно, можно оптимизировать потребление некоторых ресурсов за счёт автоматизации: то же отопление я оплачиваю исходя из потребления. Система умного дома контролирует потребление электроэнергии и питьевой воды из фильтра. Можно настроить так, чтобы всё сразу переводилось на рубли по актуальному тарифу.
С другой стороны, умный дом — это дорогая вещь сама по себе. Хабы, датчики, всевозможные устройства, камеры, сервер, ваше время… Поэтому я считаю это просто дорогостоящим хобби, а не серебряной пулей для экономии всего и вся. Реальной выгоды умный дом не приносит, если, конечно, не считать комфорта и удобств, которые он создаёт для хозяина и членов его семьи. Плюс это чертовски интересно и увлекательно — при условии, что вы любите повозиться с железками и программировать сценарии и автоматизации с учётом множества параметров.
Сейчас я достиг состояния, когда всё настроено, отлажено и работает почти как задумано. Никаких чётких планов по дальнейшему развитию умного дома у меня, пожалуй, нет — его функциональность будет добавляться по мере появления новых потребностей. Но в комментариях я буду рад увидеть ваше мнение и конструктивные предложения.
А ещё поделюсь списком телеграм-сообществ, в которых состою, рассказываю о своём опыте и набираюсь чужого: