Home Assistant (Русский)
Home Assistant - это программное обеспечение для автоматизации дома с открытым исходным кодом, которое ставит на первое место локальный контроль и конфиденциальность. Работает благодаря всемирному сообществу мастеров и энтузиастов DIY.
Установка
Установите пакет home-assistant.
Home Assistant Supervised
Смотрите статью Home Assistant Supervised.
Настройка
Файлы конфигурации хранятся в /var/lib/hass/
. Если конфигурация отсутствует, при запуске будет записана конфигурация по умолчанию.
Использование
Для запуска Home Assistant запустите/включите службу home-assistant.service
.
Первый запуск может занять до 20 минут, так как будут загружены и установлены необходимые пакеты.[1] Вы можете видеть прогресс в журналах.
# journalctl -fu home-assistant
По умолчанию веб-интерфейс доступен по адресу http://localhost:8123.
Использование 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