Home Assistant (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Home Assistant. Дата последней синхронизации: 12 октября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Home Assistant - это программное обеспечение для автоматизации дома с открытым исходным кодом, которое ставит на первое место локальный контроль и конфиденциальность. Работает благодаря всемирному сообществу мастеров и энтузиастов DIY.

Установка

Установите пакет home-assistant.

Home Assistant Supervised

Смотрите статью Home Assistant Supervised.

Настройка

Файлы конфигурации хранятся в /var/lib/hass/. Если конфигурация отсутствует, при запуске будет записана конфигурация по умолчанию.

Использование

Для запуска Home Assistant запустите/включите службу home-assistant.service.

Первый запуск может занять до 20 минут, так как будут загружены и установлены необходимые пакеты.[1] Вы можете видеть прогресс в журналах.

Совет: Следить за процессом первого обновления можно с помощью journalctl:
# journalctl -fu home-assistant

По умолчанию веб-интерфейс доступен по адресу http://localhost:8123.

Примечание: Для веб-интерфейса требуется Python-пакет home-assistant-frontend.

Использование MariaDB

По умолчанию в качестве базы данных для интеграций recorder/history используется SQLite. Заметный прирост производительности достигается при использовании MariaDB (особенно для больших систем). Home Assistant использует SQLAlchemy, что означает, что поддерживается любой бэкенд, например MySQL, MariaDB, PostgreSQL или MS SQL Server. В данной статье рассматривается только MariaDB; про другие СУБД можно почитать в документации recorder.

Установка MariaDB описана в соответствующей статье.

Установите пакет python-mysqlclient — он используется для соединения с MariaDB.

Создайте новую базу данных, в примере ниже показано одно имя пользователя для каждой службы с wildcard-доступом ко всем базам данных, имеющим имя пользователя в качестве префикса:

$ mysql -u root -p
CREATE USER 'пользователь'@'localhost' IDENTIFIED BY 'пароль' ;
CREATE DATABASE пользователь;
GRANT ALL PRIVILEGES ON пользователь.* TO 'пользователь'@'localhost';
FLUSH PRIVILEGES;
quit;

Добавьте в ваш конфигурационный файл:

/var/lib/hass/configuration.yaml
recorder:
  db_url: !secret recorder_mariadb_url

Добавьте в файл secrets (если не используется сокет Unix, другие варианты написания URL можно посмотреть в документации recorder):

/var/lib/hass/secrets.yaml
recorder_mariadb_url: "mysql://ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@localhost/БАЗА?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4"

Наконец, перезапустите службу home-assistant.service. Теперь база данных должна начать заполняться. Дополнительная информация доступна в документации recorder.

Решение проблем

Нет доступа к устройствам USB

При установке по умолчанию Home Assistant может не иметь необходимого доступа для работы с некоторыми устройствами, такими как USB-ключ Zigbee. Это происходит потому, что такие устройства контролируются системной группой uucp.

Отредактируйте файл юнита home-assistant.service, добавив в него в него SupplementaryGroups=uucp.

Затем выполните daemon-reload и перезапустите службу home-assistant.service, после чего всё должно заработать.[2].

Не работает интеграция Bluetooth

Если есть проблемы с интеграцией Bluetooth и в вашем журнале появляется следующее сообщение об ошибке, это связано с тем, что интеграция Bluetooth подключается через dbus и есть старый баг в systemd.

Config entry 'Bluetooth' for bluetooth integration not ready yet: DBus connection broken: [Errno 32] Broken pipe; try restarting `bluetooth` and `dbus`; Retrying in background

Решением является переход на dbus-broker.

Или создайте системного пользователя и группу hass:

# useradd -U -r -s /usr/bin/nologin hass

И создайте drop-in файл, чтобы служба home-assistant.service использовала этого пользователя:

/etc/systemd/system/home-assistant.service.d/override.conf
[Service]
DynamicUser=false

Смотрите также