Идем в папку с конфигами HA и копируем компонент:
cd /volume1/@appdata/homeassistant/config
wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py
выставляем права для скаченного файла
chmod 755 configurator.py
Запускаем Hass Configurator для проверки работоспособности:
./configurator.py
Открываем браузер по адресу:
http://ip:3218
Если все ок, то видим следующий интерфейс:
Настраиваем автозапуск конфигуратора
Создадим файл hass-configurator.service:
nano /etc/systemd/system/hass-configurator.service
Вставляем туда следующее и сохраняем:
[Unit]
Description=HASS-Configurator
After=network.target
[Service]
Type=simple
WorkingDirectory=/volume1/@appdata/homeassistant/config
ExecStart=/usr/bin/python /volume1/@appdata/homeassistant/config/configurator.py
Restart=always
[Install]
WantedBy=multi-user.target
Если файл configurator.py вы изначально положили в другое место, то значения «WorkingDirectory» и «ExecStart» необходимо заменить на ваш путь.
Проверяем статус созданного сервиса:
systemctl status hass-configurator.service
Активируем наш сервис и снова проверяем статус:
sudo systemctl --system daemon-reload
sudo systemctl enable hass-configurator.service
sudo systemctl start hass-configurator.service
systemctl status hass-configurator.service
Настроим удобный доступ из меню HA
Теперь добавим для быстрого доступа к компоненту ссылку на левую панель HA и сделаем это сразу в Конфигураторе, не зря же мы его ставили =). Снова идем в браузер:
http://ip малинки:3218
Слева вверху кликаем на иконку папки и кликаем на файл configuration.yaml:
Настроим безопасность
Для начала укажем пароль для api Home Assistant (Он добавит дополнительных функций конфигуратуру). Идем в файл configuration.yaml, добавляем и сохраняем:
http: api_password: !secret http_api_password
Придумываем пароль, указываем его в файле secrets.yaml и сохраняем:
#http: http_api_password: пароль
Идем в файл configurator.py, правим следующие строки и сохраняем:
BASEPATH = "/volume1/@appdata/homeassistant/config"
HASS_API = "http://ip:8123/api/"
HASS_API_PASSWORD = "Указываем ранее придуманный пароль для API"
USERNAME = "Придумываем логин для входа в конфигуратор"
PASSWORD = "Придумываем пароль для входа в конфигуратор"
Если вы положили файл configurator.py в другую директорию, то в «BASEPATH» указываем ее.
Теперь перезагружаем малину чтобы проверить, что все работает корректно, идем в терминал и указываем команду на перезагрузку:
sudo reboot
После перезагрузки снова кликаем в HA по пункту Configurator и видим предложение ввести наш логин и пароль.
Вводим и попадаем в конфигуратор. Теперь можно править конфиги HA не выходя из интерфейса Home Assistant.
Маленький бонус
Т.к. ранее мы создали и указали api пароль, то теперь мы можем перезагружать, например, автоматизации или сам HA прямо из интерфейса HASS Configurator. Для этого кликаем на шестеренку в правом верхнем углу и кликаем на соответствующий пункт:
Что еще можно настроить по безопасности
На самом деле настройки в файле configurator.py позволяют сделать более тонкую, с точки зрения безопасности, настройку. Рассмотрим еще парочку наиболее важных параметров:
ENFORCE_BASEPATH — Позволяет зафиксировать директорию для показа, чтобы при помощи HASS Configurator нельзя было попасть в другие папки директории малины. Например, если мы не хотим чтобы была возможность посмотреть файлы вне директории конфигов HA, то прописываем следующее значение вместо «False»:
ENFORCE_BASEPATH = «/volume1/@appdata/homeassistant/config
«
IGNORE_PATTERN — Позволяет скрыть из интерфейса HASS Configurator файлы (как по названию с расширением так и маской по расширению) и папки. Например, если мы не хотим чтобы была возможность посмотреть файлы с расширениями.log (Спрячем логи),.py (Скроем в том числе и configurator.py чтобы нельзя было поправить настройки и посмотреть логины/пароли без нашего ведома), файл secrets.yaml (по той же причине) и папку tts (просто для примера), то прописываем следующее вместо пустого значения «[]»:
IGNORE_PATTERN = [«*.log», «*.py», «secrets.yaml», «tts»]
Важно! Для применения внесенных изменений необходима перезагрузка.
0 комментариев