Я человек ленивый и когда необходимо пофиксить несколько строк конфигов (или даже больше) мне проще не доставая ноутбук сделать это с планшета или смартфона (знаю, что это извращение, но лень двигатель прогресса =) ) или, даже если достал ноутбук, сделать все в браузере не выходя из самого Home Assistant.
Пример установки, приведенный в этой статье, основан на Home Assistant, установленной по статьям OXOTH1Kа.
Ставим конфигуратор
Заходим под юзером homeassistant (пригодится нам в дальнейшем для возможности редактирования из браузера):
sudo -u homeassistant -H -s
Идем в папку с конфигами HA и копируем компонент:
cd /home/homeassistant/.homeassistant wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py
Выходим из под юзера homeassistant (больше нам он не потребуется):
exit
Возвращаемся в папку с конфигами HA и назначаем файл компонента исполняемым:
cd /home/homeassistant/.homeassistant sudo chmod 755 configurator.py
Запускаем Hass Configurator для проверки работоспособности:
sudo./configurator.py
Видим, что сервер стартанул:
Открываем браузер по адресу:
http://ip малинки:3218
Если все ок, то видим следующий интерфейс:
Возвращаемся в терминал и завершаем процесс сочетанием клавиш "CTRL+C".
Настраиваем автозапуск конфигуратора
Создадим файл hass-configurator.service:
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=/usr/bin/python3 /home/homeassistant/.homeassistant/configurator.py Restart=always [Install] WantedBy=multi-user.target
Если файл configurator.py вы изначально положили в другое место, то значения "WorkingDirectory" и "ExecStart" необходимо заменить с /home/homeassistant/.homeassistant на ваш путь.
Проверяем статус созданного сервиса:
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:
Добавляем в конфиг следующее:
panel_iframe: configurator: title: Configurator icon: mdi:square-edit-outline url: http://ip малинки:3218
Сохраняем (Кликаем на красную дискетку в правом верхнем углу), идем в HA - Настройки - Общие, кликаем по кнопке "Проверить конфигурацию" и, если ошибок нет, перезагружаем HA (на этой же странице внизу Управление сервером - Перезагрузить). После перезагрузки кликаем на новый пункт "Configurator" и видим следующую картину:
Настроим безопасность
Для начала укажем пароль для api Home Assistant (Он добавит дополнительных функций конфигуратуру). Идем в файл configuration.yaml, добавляем и сохраняем:
http: api_password: !secret http_api_password
Придумываем пароль, указываем его в файле secrets.yaml и сохраняем:
#http: http_api_password: пароль
Идем в файл configurator.py, правим следующие строки и сохраняем:
BASEPATH = "/home/homeassistant/.homeassistant" 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 = "/home/homeassistant/.homeassistant"
IGNORE_PATTERN - Позволяет скрыть из интерфейса HASS Configurator файлы (как по названию с расширением так и маской по расширению) и папки. Например, если мы не хотим чтобы была возможность посмотреть файлы с расширениями.log (Спрячем логи),.py (Скроем в том числе и configurator.py чтобы нельзя было поправить настройки и посмотреть логины/пароли без нашего ведома), файл secrets.yaml (по той же причине) и папку tts (просто для примера), то прописываем следующее вместо пустого значения "[]":
IGNORE_PATTERN = ["*.log", "*.py", "secrets.yaml", "tts"]
Важно! Для применения внесенных изменений необходима перезагрузка малины.
Вот и все, удачной правки ваших конфигов!
Отличная статья! Так держать! Надо бы себе на рабочей машине тоже поднять)
Я ждал эту статью! Спасибо)
Огонь!
Как все сложно то :)) но главное подробно
а с докером не зашло ? Или не стал заморачиваться ?
поставил сразу в докере, радует каждый день. плюс универсальный интерфейс запуска приложения через докер куда проще обсоуживать и поддерживать
У меня все отлично и без нареканий работает без докера, нет желания переучиваться и переделывать)
Спасибо за статью! Как раз искал мануал по конфигуратору.
Но есть вопрос. Если настроен Let's encript, то url: http://ip малинки:3218 уже не работает. То ли вместо IP адрес внешний совать, но тогда нужно порт наружу открывать, или отдельно для конфигуратора свои SSL сертификаты и отдельный DDNS делать?
У меня нет установленного SSL (точно не могу сказать), но в теории:
- да, прописать https://белый ip или домен:3218 в конфиге, открыть порт, в настройках файла configurator.py заполнить поля: SSL_CERTIFICATE, SSL_KEY и поменять путь к HASS_API на "https://белый ip или домен:8123/api/"
- указать разрешенные IP в ALLOWED_NETWORKS, чтобы закрыть доступ случайным людям.
Ok, значит я правильно понял. Спасибо!
Спасибо за статью, лайк и подписка.
Все делал по вашему рецепту. Пункт "Configurator" появился на панели НА, Но при нажатии на него пишет:
Не удалось найти IP-адрес сервера xn--ip%20-8ve0darijp. По адресу
http://ip малинки:3218 конфигуратор работает. Не подскажите в чем проблема?
Ошибку нашел, все работает. Спасибо за статью. Гениальное решение!!!
Hass в логах ругается, как только входишь в конфигуратор.
WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from 192.168.1.100
И Event Observer в конфигураторе не пускает:
Socket closed
{"type": "auth_invalid", "message": "Invalid access token or password"}
{"type": "auth_required", "ha_version": "0.103.6"}
Socket connected
Что делать?
установил редактор по статье. все работает, но при каждом открытии конфигуратора появляется уведомление:
https://sprut.ai/static/media/cache/00/49/08/5/3071261/52472/1000x_image.png?1583083864" alt="1000x_image.png?1583083864" />Сейчас всё проще. Ставится file editor addon без плясок с бубном прямо внутри ha и редактурются любые файлы в /config
Например при установке HA в виртуальной среде Питона, никаких аддонов hassio к сожалению нет.
меня докер в испоьзовании с ha уже достал
хочу просто вызывать команды на той машине, где установлен ha и никак не могу
разве что тоже пытаться всё как-то в образы завернуть написать композ и как-то всё что надо туда сюда пробросить, но это дофига работы...
но без аддонов я жить не хочу, хотя я и программист, ненавижу линуксовое многочасовое красноглазие с установкой и настройкой. Гораздо приятнее ввести в hacs название аддона и нажать «установить»
Добрый день! Статья полезная, спасибо!
Кто-нибудь может помочь мне?
Как на ESPHome прописать конфиг, чтобы на цифровые пины подавать 1 или 0 ?
В идеале мне нужно мигать светодиодом (например каждые 10 секунд).
В TASMOTA такая возможность реализована с помощью "Buzzer". Там можно к цифровому пину подключить пьезоизлучатель или светодиод, выбрать частоту мигания, а также длительность мигания. В ESPHome есть что-то подобное?
Добавляю в
configuration.yaml:
Проверяю конфиг, получаю ошибку:
extra keys not allowed @ data['http']
Как победить?
Изучаю установку и работу HA на питоне.
Хом ассистент установлен под пользователем PI (под HA не стал его пока устанавливать) . Конфигуратор прикрутил к HA , однако редактировать конфиги не хотит. Доступ говорит доступ закрыт. права на файл configurator.py вроде дал. Как его правильно настроить ?