Для того, чтобы выйти на новый уровень строителя умных домов, надо пройти более простые и только потом придет понимание какой он вам нужен и как им управлять. Основная проблема состоит в том, что рынок предлагает несколько экосистем о чем я писал ранее и вам приходится выбирать в какой из них жить.
А можно уйти от этого ограничения и управлять умными устройствами независимо от его экосистемы? Можно! И для этого существует несколько решений. И далее мы их рассмотрим.
- Есть группа решений построенных на внешних сервисах. Например, Умный дом с Алисой от Яндекс. Смысл состоит в том, что вы даете внешней системе доступ к вашим устройствам через сервер экоситемы (как у Xiaomi) или напрямую и дальше можете строить сценарии уже в этой системе. Вроде как звучит заманчиво, но Яндекс увидит далеко не все устройства. Не буду впадать в подробности - резюмирую так: это ограниченное решение, которое кому-то подойдет для бытовой техники, но никак не тянет на Level 2.
- Для пользователей Mac есть решение HomeKit. В целом оно универсальное, но ограничено использованием на Apple Mac и я его не буду детально рассматривать т.к. не готов вкладываться в платформу, которая имеет много ограничений навязываемых Apple и сразу решил строить на более универсальном платформонезависимом решении.
- Home Assistant является наиболее универсальным решением по сути не зависящим от платформы, имеющим интеграции практически с любыми устройствами работающими по протоколам умного дома и поддерживаемое открытым сообществом. Вот его мы и рассмотрим дальше.
Home Assistant
Сразу предупрежу, что данное решение не совсем для домохозяек и требует хотя бы минимальных знаний работы с Linux. Хотя, при наличии желания, разобраться не так сложно т.к. все подробно описано.
Home Assistant - это программный продукт для управления устройствами умного дома, который состоит из 2х частей:
- Клиент, который существует в виде приложения для Android и iOS и веб-интерфейса к которому можно обратиться через браузер.
- Сервер, который можно развернуть под Linux, Windows или MacOS на собственном аппаратном сервере.
Начнем с настройки сервера. Можно найти массу инструкция как это сделать по Windows и MacOS, но в большинстве случаев это не рациональное решение. Даже если у вас есть старая PC, которая вполне бы потянула на роль сервера, это будет неудачное решение т.к. вам нужен прибор, который работает постоянно. Старый PC будет потреблять много энергии и громоздок.
Наиболее оптимальным решением является использование в качестве сервера Raspberry. Сейчас актуален Raspberry Pi 4 или выше. Подробная инструкция как это сделать есть на сайте Home Assistant, но далее я добавлю еще несколько советов, которые в инструкции не описаны.
При покупке Raspberry рекомендую сразу покупать готовый комплект Starter Kit, который включает в себя не только сам Raspberry но и micro SSD карту, переходник для SSD карты, блок питания, micro HDMI переходник, радиаторы для микросхем на плате. Так же вам еще потребуется отдельно купить корпус с вентилятором для охлаждения, но на этапе знакомства это не обязательно.
Установка
При установке по инструкции подразумевается, что Raspberry подключен к сети через кабель Ethernet. Но это не обязательно - можно к сети подключиться через WiFi для чего потребуется клавиатура с USB. Вам нужно после загрузки Home Assistant (появляется большая надпись Home Assistant и командная строка HA>) использовать команду
login
После чего вы попадаете в консоль где можно использовать следующий набор команд
# Quick status of all interfaces
nmcli dev status
# Detailed overview of all interfaces
nmcli
# Get a list of all WiFi SSIDs
nmcli d wifi list
# Disconnect from a WiFi network
nmcli con # Get the NAME of the WiFi connection
nmcli con down "connection_name_here"
# Connect to a WiFi network on a specific WiFi interface
sudo nmcli d wifi connect "ssid_here" password "password_here" ifname wlan1
Итого, после login минимально надо вывести список доступных точек WiFi nmcli d wifi list и подключиться к своей nmcli d wifi connect 'имя_сети' password "пароль". Результатом должно стать сообщение вида: Device 'wlan0' successfully activated with ... После чего еще раз используем login и возвращаемся в HA.
Далее Home Assistant незаметно для вас начинает качать обновления и прочие дистрибутивы примерно 20-30 минут. Крайне рекомендую подключаться к точке стандарта 5Ггц т.к. далее HA начнет качать дистрибутивы интеграций и я столкнулся с тем, что в стандарте 2,4Ггц система регулярно вылетала по таймауту т.к. связь была плохой по известным причинам. До окончания этого процесса попытки перейти по адресам homeassistant:8123 or `http://X.X.X.X:8123` не работают.
Чтобы узнать какой адрес вида http://X.X.X.X:8123` вам выдал роутер - вам надо открыть настройки роутера (обычно это делается через веб-интерфейс, предоставляемый сами роутером и найти там устройство homeassistant. Далее вы определяете IP адрес, но он пока динамический - вам его надо зарезервировать за устройством. Как это сделать зависит отк конкретного роутера, но большинство поддерживают эту функцию. Так же если работает доступ по адресу http://homeassistant.local:8123/ попробовать использовать http://homeassistant:8123/
Настройка
Через некоторое время по указанным адресам появляется интерфейс Home Assistant
Выбираем создать умный дом, создаем аккаунт, пропускаем логирование и обнаруженные устройства и вот он долгожданный аккаунт.
Рекомендую использовать браузер Chrome т.к. в Яндекс.Браузер в полседней версии РФ столкнулся с сообщением "Unable to connect to Home Assistant."
Далее идем в пользователя, выбираем язык и выбираем расширенный режим.
Далее рекомендую создать резервную копию до каких-либо настроек. Для этого идем в Настройки -> Система -> Резервная копия и создаем резервную копию.
Снова идем в меню Настройки -> Система -> Обновления - заходим в меню и обновляем. После обновления OS ваш Raspberry перезагрузится, чтобы применить обновления. В конце желательное еще раз сделать резервную копию. В ранних версиях HA путь выглядит так: настройки и в самом верху находим Supervisor и Home Assistant Operating System.
Дополнения
Теперь пришло время установить наиболее популярные дополнения. Идем в Настройки -> Дополнения -> Магазин дополнений.
Обратите внимание, что при установке и запуске дополнений требуется некоторое время, связанное с тем, что дистрибутив хранится в виде открытого кода и требует сборки и компиляции. Так устроен HA, но это нас не пугает.
File Editor
Текстовый редактор в первую очередь позволяющий редактировать настройки. При установке выбираем опции
- Автозагрузка
- Перезапуск при сбоях
- Показывать на боковой панели
В конфигурации нужно установить enforce_basepath: true - это можно сделать как кнопками, так и войти в текстовый редактор через меню в верхнем левом углу.
Terminal & SSH
Позволит удаленно управлять Raspberry, что позволит отказаться от монитора и клавиатуры на нем.
При установке так же выбираем опции
- Автозагрузка
- Перезапуск при сбоях
- Показывать на боковой панели
Вуаля, можно отсоединять монитор и клавиатуру :)
Если столкнетесь с ошибкой 502 - прочитайте тут https://community.home-assistant.io/t/502-bad-gateway-ssh-web-terminal/193018 - достаточно добавить сильный пароль в настройках.
HACS
Это наверное наиболее важное дополнение т.к. по сути является неофициальным магазином дополнений, написанным сообществом Home Assistant. Используем команду в терминале через CTRL + SHIFT V
wget -O - https://get.hacs.xyz | bash -
Если будет сообщение о недоступности сервиса - перезагрузите Raspberry через CTRL + ALT + DEL или в разделе Система нажмите кнопку перезагрузки.
Корректное выполнение команды выглядит так:
После установки также перезагрузите Raspberry. Далее идем в Система -> Интеграции, находим поиском HACS и добавляем интеграцию. В диалоге выбираем все опции.
Далее вас попросят залогиниться на github и ввести код. У кого нет аккаунта - просто идем на https://github.com/ и создаем аккаунт после чего делаем то, что просит HA. После этой операции через некоторое время HACS появится в левом меню.
С этого момента вы можете самостоятельно подключать устройства через официальные и неофициальные дополнения. Подробнее как это делается расскажу в последующих статьях, а пока предлагаю вам самостоятельно поэкспериментировать с подключением и настройками.
Home Assistant Google Drive Backup
Еще одно полезное дополнение которое позволит вам делать бэкапы на Google Drive по настраиваемому расписанию.
- Идем в Настройки -> Дополнения -> Магазин дополнений
- В правом верхнем углу нажимаем ... -> Репозитории и добавляем ссылку https://github.com/sabeechen/hassio-google-drive-backup
- Устанавливаете и запускаете приложение.
- Далее приложение предложит вам заригистрировать свой аккаунт в Google и предоставить ему доступ.
Если этот способ показался вам сложным для реализации, то рекомендую прочитать о более доступных способах в моей более ранней статье Как построить умный дом?