Все настройки внешнего вида, конфигураций и сценариев в 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.
- После редактирования конфигурации не забывайте нажимать на иконку «Сохранить», появляющуюся в правом верхнем углу:
При редактировании интерфейса дополнительно выполнять проверку конфигурации и перезагружать сервер не нужно.
Добрый день
У меня ругается на
#Редактирование интерфейса в файле конфигурации
lovelace:
mode: yaml
Ошибка: Component error: mode — Integration ‘mode’ not found.
Ну и соответственно при удалении этих строк интерфейс не создаётся. Подскажите, пожалуйста, варианты решения
Добрый день. Я ошибся при вставке кода в статью. Добавьте два пробела перед mode. В статье поправил. Спасибо.
Не загружается магазин приложений в супервизоре, подскажите что делать?
Добрый день! Не сталкивался с таким. По информации с официального форума Home Assistant помогает одно из:
Перезагрузить через три точки (на этой странице справа вверху).
Перезагрузить эту страницу нажав Ctrl + F5.
Перезагрузить Home Assistant. Настройки — Сервер — Перезапустить.
Еще возможны проблемы с интернетом. Можно попробовать изменить DNS на 8.8.8.8 и 8.8.4.4.
И обновить HA, если установлена не последняя версия.
В файле ui-lovelace.yaml в строке «entity: sensor.processor_use_percent #Выводит загрузку процессора в процентах» следует указать сенсор sensor.processor_use.
Не могу вспомнить, почему именно так, но работает именно с «_percent». Сенсор в панели разработчика у меня называется именно «sensor.processor_use_percent».
У тебя получается, что в конфиге сенсоров прописано sensor.processor_use, а в ловеласе sensor.processor_use_percent. Я копировал твой пример и у меня при проверке выдало ошибку.
Я удалил _percent из ловеласа и всё заработало как у тебя на скрине. Возможно это была ошибка в старых версиях НА. Пишу из февраля 2023 ))
Может быть. Разработчики периодически что-то меняют и некоторые параметры/строчки/интеграции перестают работать или прописываются по другому.
Хм… а чего делать если у меня в панели разработчика нет сенсоров?
только
binary_sensor.updater
person.alex
sun.sun
weather.z_tehnologies
zone.home
вопрос снят, надо было добавить в configuration.yaml соотвествующие сенсоры
sensor:
— platform: systemmonitor
resources:
— type: disk_use_percent
arg: /config
— type: processor_temperature
— type: processor_use
— type: memory_use_percent
— type: disk_free
— type: last_boot
После последнего обновления до Home Assistant 2021.12.6 при попытке написания configuration.yaml
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
— platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor:
— platform: systemmonitor
resources:
— type: disk_use_percent
arg: /
— type: memory_use_percent
— type: processor_temperature
— type: processor_use
— type: last_boot
— platform: mitemp_bt
# sensor_names:
# ‘A4:C1:38:60:CB:D2’: ‘Спальня’
encryptors:
‘A4:C1:38:6D:CB:D2′: ’48e72b79fdb8d46191ce2dd813784b12’
# report_unknown: False
# whitelist:
# — ‘A4:C1:38:6D:C8:D2’
проверка ругается
Invalid config for [sensor.mitemp_bt]: [encryptors] is an invalid option for [sensor.mitemp_bt]. Check: sensor.mitemp_bt->encryptors. (See ?, line ?).
при том, что в file editor горит зеленый индикатор правильности конфигурации. Подскажите плиз, куда копать
Бывает такое, что в File Editor горит зеленый, когда есть ошибки.
У меня нет опыта по добавлению BT сенсоров в Home Assistant. Я правильно понял, что mitemp_bt — кастомная интеграция «Passive BLE Monitor integration»? Или это официальная интеграция?
В официальной я не нашел «encryptors:», там только MAC указывается, а в кастомной нашел только другой код для добавления — https://custom-components.github.io/ble_monitor/Installation#step-3b-configuration-in-yaml
К сожалению не работает, точнее частично.
processor_use_percent — объект processor_use_percent недоступен. Правильно processor_use, но показывает 0
processor_temperature — объект processor_temperature недоступен.
У меня тоже несколько секунд показывал 0, но потом завёлся.
А e меня не работает цветовая дифференциация [s]штанов[/s], почему-то только зеленый в «спидометрах» при любом значении.