В предыдущих частях мы развернули сервер умного дома Home Assistant:
Сам по себе Home Assistant, да впрочем, и любая система умного дома, делать ничего не умеет. Чтобы умный дом начал выполнять какие-то автоматизированные действия, эти действия нужно задать и настроить.
Эта подробная инструкция написана простым языком и предназначена для новичков, которые делают первые шаги в автоматизации своего дома.
Сервер умного дома может выполнять множество полезных и интересных задач самостоятельно - без подключения внешних умных устройств. Это различные автоматизации, связанные с геолокацией (отслеживание перемещений мобильных телефонов пользователей или авто(вело/мото)-трекеров), автоматизации с телеграм-ботом, с IP-камерами видеонаблюдения, с Google-календарём и ещё очень много всякого. Со всем эти можно копаться, не вкладывая средств в покупку умных девайсов, и без потерь переделывать сколько угодно раз.
Мы же рассмотрим лишь то, что может определить дальнейшую стратегию развития вашего умного дома именно с финансовой точки зрения - какого типа умные устройства использовать.
Вообще, умные устройства (розетки, выключатели, реле, датчики и т.п.) существуют в огромном многообразии. Они различаются и способом подключения (протоколом связи), и функциональностью, и привязкой к различным экосистемам умного дома. Рассказать обо всём этом в рамках данной инструкции невозможно.
Отмечу лишь несколько самых важных на мой взгляд моментов.
Большинство доступных на данных момент устройств делятся на два типа по способу беспроводного подключения к умному дому (протоколу связи) - WiFi и Zigbee. Есть и другие, Matter, например, молодой и очень перспективный протокол, который быстро развивается. Так вот, выбирать между WiFi и Zigbee не нужно (статьями с подобным выбором завален весь интернет). Нужно использовать оба варианта, в зависимости от задачи. Потому что каждый вариант хорош в одном, но плох в другом. Устройств, поддерживающих Matter, пока не так много, однако в будущем, я уверен, они заменят собой и zigbee, и wifi.
Что касается умных устройств с управлением по WiFi, то с ними проще с точки зрения подключения к умному дому, так как WiFi-роутер у вас уже есть, и все умные WiFi-устройства подключаются к умному дому через вашу домашнюю WiFi-сеть. Но выбор таких устройств ограничен, и все они требуют постоянного электропитания, так как WiFi - прожорливый протокол связи. Однако некоторые виды устройств могут работать только по WiFi или проводной сети (IP-камеры наблюдения, например).
В рамках данной инструкции я буду рассматривать только zigbee-устройства. Протокол связи zigbee был разработан специально для систем умного дома, он ориентирован на низкое энергопотребление, поэтому множество zigbee-устройств работают на батарейках или аккумуляторах, что позволяет легко размещать их по дому.
Однако в случае с zigbee-устройствами есть одна сложность - они не умеют подключаться к WiFi-роутеру, и для них необходимо приобретать отдельный роутер - zigbee-координатор. С него и начнём.
Zigbee-координатор
Я в своём умном доме использую вот такой zigbee-координатор:
Смело могу рекомендовать SONOFF Zigbee 3.0 USB Dongle Plus-E - никаких проблем с ним у меня не было, я использую такой же и в дачном умном доме вот уже около года.
Это устройство нужно будет вставить в любой USB-порт одноплатного компьютера RPi, на который мы установили Home Assistant (но пока этого не делаем). В будущем этот порт лучше запомнить и не менять, а то может потребоваться перенастройка.
Есть одна тонкость. Для более устойчивой работы zigbee-сети размещать zigbee-координатор нужно подальше от WiFi-роутера. Для этого либо Rpi подключить через патчкорд подлиннее, либо этот zigbee-координатор подключить в RPi через USB-удлинитель. Одного-двух метров от роутера будет достаточно.
Настройка zigbee в Home Assistant
Итак, открываем страницу управления нашим умным домом в браузере. Если RPi перед этим выключался, то вы увидите страницу входа с логином и паролем. Вводим их, и я рекомендую поставить галочку "Запомнить", чтобы не делать это каждый раз:
Для работы zigbee-устройств нам потребуется установить соответствующую интеграцию.
Интеграция - это что-то вроде драйвера или логического интерфейса - то есть программного обеспечения, которое связывает ядро Home Assistant с какими-то внешними устройствами или сервисами определённого назначения или брэнда.
Для одной и той же задачи может существовать несколько разных интеграций, созданных разными сообществами или производителями. Для zigbee существует как минимум две интеграции (мне лично о других неизвестно).
Выбор интеграции - z2m или ZHA?
Наиболее популярна Zigbee2MQTT (z2m). Это самостоятельный проект. Zigbee2MQTT может быть установлен и запущен практически на любом компьютере под любой операционной системой и работать далеко не только с Home Assistant.
Zigbee2MQTT отличается огромным списком поддерживаемых устройств и очень быстрым появлением поддержки новых устройств. Для Home Assistant существует дополнение (addon), которое позволяет упростить установку и настройку z2m.
Аддон - это далеко не тоже самое, что интеграция. Интеграция является частью ядра Home Assistant, она устанавливается непосредственно в систему и работает под её управлением. Дополнение, или аддон - это самостоятельное программное обеспечение, имеющее своё собственное ядро, работающее отдельно от ядра Home Assistant и независимо от него, но с настроенным двусторонним взаимодействием. "Падение" или перезагрузка одного никак не влияет на работу другого.
Однако для новичка путь c z2m всё же не будет казаться простым, и я не буду его рассматривать, чтобы не усложнять. А написал здесь об этом лишь для информации - очень вероятно, что по мере погружения в тему вы в итоге захотите перейти на Zigbee2MQTT, так как он гораздо более гибок и функционален, хотя и чуть менее стабилен.
Команда разработчиков Home Assistant, видимо, также понимая некоторую сложность в развёртывании Zigbee2MQTT для новичка, разработала нативную интеграцию для zigbee под названием Zigbee Home Automation (ZHA).
ZHA гораздо проще в установке и не требует вообще никакой настройки. Но у неё несколько иная политика - списка поддерживаемых устройств как такового не существует. Предполагается, что любое умное zigbee-устройство, правильно обеспечивающее данный протокол связи, автоматически будет работать. Это так и не так одновременно. Многие производители умных устройств допускают вольности в реализации zigbee-протокола своих устройств, не соблюдая всех требований стандарта. К ZHA, как правило, любые такие устройства смогут подключиться без проблем, но вот функционал может оказаться сильно урезанным, а что-то даже может работать с ошибками или не работать вовсе.
Выбор между z2m и ZHA каждый должен сделать самостоятельно и осознанно. Лично я пошёл таким путём - начал с ZHA, а когда немного набрался опыта и понял, что функционала некоторых девайсов мне стало не хватать, я просто купил второй zigbee-координатор, который запустил уже с Zigbee2MQTT, и у меня теперь есть оба варианта. Но, со временем я полностью перешёл на Zigbee2MQTT.
Установка и настройка Zigbee Home Automation
Итак, в данной инструкции мы будем рассматривать интеграцию Zigbee Home Automation (ZHA). Для установки этой интеграции и настройки координатора проделаем следующие шаги.
Питание одноплатника RPi у вас включено и Home Assistant на нём запущен, веб-страница управления открыта в браузере.
Вставляем zigbee-координатор в USB-порт. Через пару секунд вы должны вновь увидеть оранжевый значок уведомления, заходим посмотреть, там опять такое же уведомление о найденных новых устройствах, о котором мы говорили в предыдущей части инструкции. Вот теперь нам это интересно. Нажимаем "Check It Out" и открывается страница со списком устройств.
Эту же страницу можно открыть и из меню "Настройки" -> "Устройства и службы. Интеграции, устройства и объекты":
Прокручиваем список и находим там наше устройство SONOFF Zigbee 3.0 USB Dongle Plus V2, обнаруженное интеграцией Zigbee Home Automation:
Нажимаем под ним кнопку "Добавить" и подтверждаем добавление:
Так как я вынул zigbee-координатор из своего рабочего умного дома, чтобы написать данную инструкцию, то внутри него уже содержаться настройки моей zigbee-сети. Да, координатор хранит в своей памяти конфигурацию zigbee-сети, помнит обо всех добавленных устройствах и карте построения. Эти настройки можно резервировать и восстанавливать.
У меня резервная копия сохранена, поэтому нажимаю "Стереть настройки сети и создать новую сеть". К сожалению, я не знаю (не помню) как эта процедура выглядит для нового устройства из коробки, появляется ли вообще это окно. Но суть такая, что нужно разрешить создать новую сеть:
После этого нужно полминутки подождать:
Пока не появится сообщение об успешном завершении операции:
Пространство здесь указывать не обязательно, а можно и выбрать из выпадающего списка или добавить своё. Нажимаем "Готово".
Всё, интеграция ZHA и zigbee-координатор настроены и работают, можно добавлять устройства.
На странице устройств координатор вместе с интеграцией ZHA переехали из раздела "Обнаружено" в раздел "Настроено":
Можем нажать на "1 Устройство" и увидеть в списке устройств наш координатор:
В дальнейшем все умные zigbee-устройства будут попадать в этот список, где можно будет ими управлять и настраивать.
Восстановление резервной копии сети zigbee
Если по какой-то причине интеграция ZHA выдаёт ошибку:
То ничего страшного, это легко исправить. Нажимаем кнопку "Настроить" и подтверждаем остановку работы интеграции:
Выбираем "Перенастроить используемый радиомодуль":
И далее выбираем наш координатор:
Нажимаем "Подтвердить" и далее выбираем "Восстановить из автоматически созданной резервной копии":
Подтверждаем выбор резервной копии:
Через несколько секунд восстановление завершится и всё снова станет работать как прежде:
В следующей части инструкции рассмотрим те zigbee-устройства, на основе которых я буду описывать дальнейшие шаги по настройке:
Друзья! Я не специалист, а лишь слегка продвинувшийся пользователь. Если вы найдёте в тексте любые ошибки, нестыковки, несуразности или неправильное понимание предмета - пожалуйста, напишите в комментариях об этом! Я постараюсь всё исправить.