Все настройки внешнего вида, конфигураций и сценариев в Home Assistant можно выполнить как через web-интерфейс, так и вручную, прописывая все в конфигурационных файлах. Очень рекомендую пользоваться именно вторым способом.
Для написания всего и вся в Home Assistant используется язык YAML. Тут важно запомнить два момента:
-
- При внесении правок в конфигурацию, написании сценариев и других действиях нужно обязательно соблюдать правила вложенности и правильно проставлять отступы. Более подробно я расскажу об этом далее, когда будем вносить правки в конфигурационный файл.
- После внесения необходимых изменений, Home Assistant нужно перезапускать для их применения (за исключением изменений интерфейса). Так вот, перед каждой перезагрузкой нужно обязательно выполнять проверку конфигурации. А для того, чтобы она была доступна, нужно включить расширенный режим:
После его включения в настройках появится кнопка «Проверить конфигурацию». Соответственно сначала вносим необходимые изменения, проверяем в редакторе кода (который установим далее), что все ОК:
Далее переходим по пути «Настройки» -> «Сервер»:
И выполняем проверку. Если все хорошо, то нажимаем «Перезапустить» чуть ниже:
Установка File Editor
Для редактирования файлов конфигурации скачиваем и устанавливаем File Editor из Add-on Store:
Выбираем его, нажимаем Install, ожидаем завершения установки, после чего запускаем нажатием на кнопку Start и включаем Show in sidebar (выносит иконку запуска редактора в сайдбар слева).
После установки можно переходить к первоначальной настройке. Основной файл, в котором описаны все настройки – Configuration.yaml. Так что запускаем File Editor и открываем данный файл (скорее всего он откроется по умолчанию).
Configuration.yaml
Для создания файлов и папок, а также перехода между ними, нажимаем Browse Filesystem в File Editor:
Я создал папку myconfig (имя может быть любое) и уже в ней буду создавать все файлы конфигурации. Удаляем все стандартные файлы (groups.yaml, scenes.yaml, automations.yaml, scripts.yaml) из корневой папки и создаем новую папку и уже в ней файлы groups.yaml, scenes.yaml и папки sensor и automation.
Далее открываем файл configuration.yaml и добавляем туда строчки, как показано в примере ниже (выделил красным). Первый блок открывает возможность конфигурировать интерфейс через конфигурационный файл, второй – указывает пути до новых файлов и папок (myconfig меняем на название Вашей папки).
Добавление сенсоров
Первое, что можно сделать – вывести различную информация о состоянии сервера на главный экран. Для этого переходим в папку sensor и создаем там файл sysmonitor.yaml (название может быть любым). В нем – прописываем нужные нам сенсоры, список которых можно взять тут. Прописываем со всеми пробелами, как в примере ниже:
- platform: systemmonitor resources: - type: processor_use - type: processor_temperature - type: last_boot - type: disk_use_percent arg: / - type: memory_use_percent - type: disk_free arg: /
Настройка интерфейса
Создаем файл с именем ui-lovelace.yaml в папке, где и configuration.yaml. В него будем прописывать все настройки интерфейса. Ниже – пример моего файла, в который я добавил сенсоры из прошлого пункта и написал комментарии к большинству строчек. Найти имя нужного сенсора, его атрибуты и текущее состояние можно в панели разработчика во вкладке «Состояния»:
В итоге получился вот такой вот главный экран:
Несколько комментариев:
- Возможные типы карточек можно посмотреть в официальной документации (в правой колонке щелкаете по названиям ниже Cards). Там есть скриншоты и гифки, показывающие как они выглядят, а также список возможных параметров (на английском) и примеры кода.
- Доступные иконки можно найти щелкнув в редакторе кода на шестеренку и выбрав Material Icons в выпадающем списке. Далее, на открывшемся сайте в поле Search вводим что нужно найти (на английском), выбираем понравившуюся иконку и копируем ее имя. Обратите внимание, что все иконки прописываются так: icon: mdi:имя_иконки. После двоеточия, перед именем иконки пробела нет. И не забываем про mdi: перед именем.
- Обратите внимание на вложенность и пробелы в примере выше. Например, карточки, относящиеся к type: vertical-stack идут с выносом пробелами. Ниже идет горизонтальная группировка – type: horizontal-stack. Она вынесена от вертикальной (т к относится к ней) и все карточки, которые относятся к горизонтальной вынесены относительно нее. Если не соблюсти правила вложенности, то Home Assistant выдаст ошибку.
- Обязательные атрибуты, которые необходимо прописать карточке или сущности в официальной документации помечены словом REQUIRED. Опциональные – optional.
- После редактирования конфигурации не забывайте нажимать на иконку «Сохранить», появляющуюся в правом верхнем углу:
При редактировании интерфейса дополнительно выполнять проверку конфигурации и перезагружать сервер не нужно.