Найти в Дзене
HASSStas: Рецепты HomeAssistant

Первоначальная настройка HomeAssistant

Оглавление

Итак, сервер установлен, можно начинать подключать к нему всё, что под руку подвернётся. Но прежде не помешает облегчить себе дальнейшую работу, установив магазин компонентов HACS, удобный редактор конфигураций и немножко допилив интерфейсы.

UPD: немного изменил концепцию разделения конфигурации для удобства работы со встроенными редакторами.

Доработка интерфейса

В первую очередь включим расширенное меню управления сервером. Без расширенного управления меню Настройки - Сервер выглядит так:

Идём в настройки профиля и включаем Расширенный режим:

-2

После этого управление сервером выглядит так:

-3

Кроме этого, добавляется меню Кастомизация, в котором можно будет удобно менять параметры подключенных элементов:

-4

Конфигуратор

Теперь подключим удобный редактор конфигураций.

Переключаемся на пользователя homeassistant:

sudo -u homeassistant -H -s

Переходим в папку установки сервера и активируем виртуальное окружение:

cd /srv/homeassistant/
source /bin/activate

Устанавливаем hass-configurator:

pip3 install hass-configurator

После установки конфигуратора - делаем первый запуск:

hass-configurator

И проверяем через браузер, что конфигуратор запустился и работает, заходим на адрес сервера по порту 3218, например:

http://10.0.2.25:3218

Видим пустую панель конфигуратора:

-5

Значит всё нормально, останавливаем в консоли службу (Ctrl+C) и добавляем службу в автозапуск.

В первую очередь выходим из виртуального окружения:

exit

Создаём файл для запуска службы:

sudo nano /etc/systemd/system/hass-configurator.service

И вставляем текст:

[Unit]
Description=HASS-Configurator
After=network.target
[Service]
Type=simple
User=homeassistant
WorkingDirectory=/home/homeassistant/.homeassistant
ExecStart=/srv/homeassistant/bin/hass-configurator
Restart=always
[Install]
WantedBy=multi-user.target

Сохраняем (Ctrl+O) и выходим из редактора (Ctrl+X). Обновляем список служб, активируем и запускаем новую службу:

sudo systemctl --system daemon-reload
sudo systemctl enable hass-configurator.service
sudo systemctl start hass-configurator.service

Проверяем, что служба успешно запустилась:

systemctl status hass-configurator.service

Если видим, что статус active, значит служба успешно создана и запущена:

-6

Теперь для полноценной работы нужно добавить конфигуратор в боковую панель HomeAssistant. Открываем конфигуратор в браузере:

http://10.0.2.25:3218

В автозапуске мы уже указали нашу рабочую папку HomeAssistant, поэтому конфигуратор сразу же попадает в неё. Нажимаем на значок папки и выбираем файл configuration.yaml. Там уже присутствуют какие-то базовые настройки, нам же нужно добавить секцию panel_iframe, в которой мы будем перечислять все дополнительные компоненты для боковой панели. Добавим туда конфигуратор и, сразу же, справочник иконок, которыми мы будем пользоваться при добавлении разных датчиков и сенсоров. Внимательно следим за отступами! Язык размети yaml очень чувствителен к уровням вложения параметров (как и язык python). Если где-то отступы будут не на том месте, конфигуратор сообщит об этом красным значком с восклицательным знаком в правом верхнем углу.

panel_iframe:
  configurator:
    title: Конфигуратор
    icon: mdi:square-edit-outline
    url: http://10.0.2.25:3218
  icons:
    title: Иконки
    icon: mdi:drawing
    url: https://cdn.materialdesignicons.com/4.5.95/

Сохраняем изменения кнопкой с дискетой или нажатием Ctrl+S, переходим на страницу HomeAssistant, идём в Настройки - Сервер и проверяем конфигурацию. Если ошибок нет - перезапускаем сервер. После перезагрузки на боковой панели добавились две новые кнопки - Иконки и Конфигуратор.

Иконки:

-7

Конфигуратор:

-8

Теперь отдельную вкладку конфигуратора в браузере можно закрыть - всё доступно из боковой панели HomeAssistant.

Осталось добавить "магазин приложений" HACS.

HomeAssistant Community Store

HACS - это комьюнити HomeAssistant, в котором собраны все кастомные компоненты, доступные для сервера: расширения, карточки, плагины и темы (на самом деле, конечно, не все, но многие, а некоторые другие можно добавить в дополнительные репозитории в настройках HACS). В этом магазине удобно искать нужные компоненты, добавлять их к себе в конфигурацию и обновлять по мере необходимости.

Сначала нам надо создать новую папку для кастомных компонент:

cd /home/homeassistant/.homeassistant/
sudo mkdir custom_components
chmod 777 custom_components/

Устанавливаем unzip, потому что его нет в штатной поставке Ubuntu:

sudo apt install unzip

Запускаем скрипт установки:

curl -sfSL https://hacs.xyz/install | bash -

Установка должна завершиться надписью "Installation completed".

Теперь нам нужен токен GitHub. Для этого придётся создать свой аккаунт:

https://github.com/join?return_to=https%3A%2F%2Fgithub.com%2Fsettings%2Ftokens&source=login

Указываем свои логин, емейл и пароль, подтверждаем и, когда аккаунт создан, переходим на страницу https://github.com/settings/tokens. Создаём новый токен кнопкой "Generate new token", придумываем название в поле Note и нажимаем Generate token. Токен создан, не закрываем страницу!

Переходим на другой вкладке браузера в HomeAssistant, переходим в Настройки - Интеграции и нажимаем круглую кнопку с плюсиком. Ищем поиском HACS:

-9

Если ничего не находится - надо обновить страницу с очисткой кеша (Ctrl+Shift+R) и попробовать поиск ещё раз.

Выбираем интеграцию HACS (Home Assistant Community Store) и подключаем:

-10

Нам надо вставить токен доступа GitHub, который можно скопировать на странице с токеном:

-11

Остальные настройки можно оставить как есть. Нажимаем Подтвердить и слева в боковой панели у нас добавится новый раздел HACS. Переходим в него и нажимаем Continue до тех пор, пока не появится панель с единственной карточкой:

-12

Бегущая сверху оранжевая полоска сообщает нам, что магазин выкачивает все доступные компоненты и формирует списки.

Готово, теперь у нас есть все необходимые инструменты для того, чтобы начинать настраивать свою домашнюю автоматизацию. Но я рекомендую сделать ещё одну полезную манипуляцю: выделить секции конфигурационного файла в отдельную папку и создать новые, которые по умолчанию не созданы.

UPD: файлы в отдельной папке не работают при создании элементов из графического интерфейса. Я сам привыки прописывать всё сразу в коде yaml, но в данных заметках буду стараться показывать настройку штатными средствами, поэтому для своих рецептов конфигурационные файлы буду хранить в корне HomeAssistant, где они изначально и располагаются.

Ниже рецепт выделения конфигурационных файлов для тех, кто предпочитает работать в текстовом редакторе, чтобы они не смешивались в общую кучу.

Переходим в Конфигуратор и создаём новую папку:

-13

Создаём папку, например, "includes":

-14

Переходим в эту папку и создаём файлы:

  • automation.yaml
  • binarysensors.yaml
  • customize.yaml
  • devicetrackers.yaml
  • groups.yaml
  • scenes.yaml
  • scripts.yaml
  • sensors.yaml
  • switches.yaml
-15

Переходим обратно в корневую папку HomeAssistant и удаляем такие же файлы. Файл secrets.yaml лучше оставить в корневой папке. Потом открываем configuration.yaml и меняем/добавляем пути:

automation: !include includes/automations.yaml
binary_sensor: !include includes/binarysensors.yaml
device_tracker: !include includes/devicetrackers.yaml
group: !include includes/groups.yaml
scene: !include includes/scenes.yaml
script: !include includes/scripts.yaml
sensor: !include includes/sensors.yaml
switch: !include includes/switches.yaml
homeassistant:
  customize: !include includes/customize.yaml

Секция customize обязательно должна быть в разделе homeassistant!

Теперь перезапускаем HomeAssistant и начинаем, наконец-то, добавлять свои устройства.