Все настройки внешнего вида, конфигураций и сценариев в Home Assistant можно выполнить как через web-интерфейс, так и вручную, прописывая все в конфигурационных файлах. Очень рекомендую пользоваться именно вторым способом.

Для написания всего и вся в Home Assistant используется язык YAML. Тут важно запомнить два момента:

    1. При внесении правок в конфигурацию, написании сценариев и других действиях нужно обязательно соблюдать правила вложенности и правильно проставлять отступы. Более подробно я расскажу об этом далее, когда будем вносить правки в конфигурационный файл.
    2. После внесения необходимых изменений, Home Assistant нужно перезапускать для их применения (за исключением изменений интерфейса). Так вот, перед каждой перезагрузкой нужно обязательно выполнять проверку конфигурации. А для того, чтобы она была доступна, нужно включить расширенный режим:
      Включение расширенного режима в Home Assistant
      После его включения в настройках появится кнопка «Проверить конфигурацию». Соответственно сначала вносим необходимые изменения, проверяем в редакторе кода (который установим далее), что все ОК:
      Ошибок нет
      Далее переходим по пути «Настройки» -> «Сервер»:
      Меню сервер
      И выполняем проверку. Если все хорошо, то нажимаем «Перезапустить» чуть ниже:
      Проверка конфигурации

Установка File Editor

Для редактирования файлов конфигурации скачиваем и устанавливаем File Editor из Add-on Store:

Устанавливаем файловый менеджер

Выбираем его, нажимаем Install, ожидаем завершения установки, после чего запускаем нажатием на кнопку Start и включаем Show in sidebar (выносит иконку запуска редактора в сайдбар слева).

Быстрый доступ к File Editor

После установки можно переходить к первоначальной настройке. Основной файл, в котором описаны все настройки – 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 меняем на название Вашей папки).

Пример Configuration.yaml
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

#Редактирование интерфейса в файле конфигурации
lovelace:
  mode: yaml

# Text to speech
tts:
  - platform: google_translate

#Путь до файлов конфигурации
group: !include myconfig/groups.yaml
scene: !include myconfig/scenes.yaml

#Папки конфигурации
sensor: !include_dir_merge_list myconfig/sensor
automation: !include_dir_merge_list myconfig/automation

Добавление сенсоров

Первое, что можно сделать – вывести различную информация о состоянии сервера на главный экран. Для этого переходим в папку 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. В него будем прописывать все настройки интерфейса. Ниже – пример моего файла, в который я добавил сенсоры из прошлого пункта и написал комментарии к большинству строчек. Найти имя нужного сенсора, его атрибуты и текущее состояние можно в панели разработчика во вкладке «Состояния»:

Имя сенсора

ui-lovelace.yaml
title: MyHome  #Текст, который выводится в самом верху на вкладке "Обзор"
views:

  - title: Сервер  #Первая вкладка. Пока других нет, ее название и значок не будут отображаться в обзоре
    icon: mdi:server  #Иконка вкладки
    
    cards:  #Карточки, которые будут в первой вкладке

    - type: vertical-stack  #Первый вертикальный блок. Сюда вписываем все карточки, которые будут отображаться в первой колонке
      cards:
    
        - type: entities  #Задаем тип карточки. Данный тип (entities) выводит в строчку название и значение сущности
          show_header_toggle: false
          entities:
              - entity: sensor.disk_free  #Выводит свободное место на диске
                name: Свободное место на диске  #Отображаемое название
                icon: mdi:harddisk  #Иконка
              - entity: sensor.last_boot  #Выводит время, когда последний раз был загружен сервер
                name: Когда был включен
                icon: mdi:clock
              
        - type: horizontal-stack  #Горизонтальная группировка следующих трех карточек
          cards:
            - type: gauge  #Тип карточки. gauge - в виде круговой диаграммы
              entity: sensor.processor_use_percent  #Выводит загрузку процессора в процентах
              name: Загрузка процессора  #Отображаемое название
              severity:  #Задаем цвет диаграммы в зависимости от значений показателя
                green: 0
                yellow: 45
                red: 85
          
            - type: gauge
              entity: sensor.memory_use_percent  #Выводит использование оперативной памяти в процентах
              name: Использование оперативной памяти
              severity:
                green: 0
                yellow: 55
                red: 85
          
            - type: gauge
              entity: sensor.disk_use_percent  #Выводит процент используемого места на диске
              name: Занято места
              severity:
                green: 0
                yellow: 50
                red: 85
          
    - type: vertical-stack  #Второй вертикальный блок. Сюда вписываем все карточки, которые будут отображаться во второй колонке
      cards:
          
        - type: sensor  #Тип карточки
          entity: sensor.processor_temperature  #Выводит температуру процессора
          graph: line  #Показывает график изменения температуры
          name: Температура процессора
          icon: mdi:thermometer-low

В итоге получился вот такой вот главный экран:

Настройка Home Assistant. Главный экран

Несколько комментариев:

  1. Возможные типы карточек можно посмотреть в официальной документации (в правой колонке щелкаете по названиям ниже Cards). Там есть скриншоты и гифки, показывающие как они выглядят, а также список возможных параметров (на английском) и примеры кода.
  2. Доступные иконки можно найти щелкнув в редакторе кода на шестеренку и выбрав Material Icons в выпадающем списке. Далее, на открывшемся сайте в поле Search вводим что нужно найти (на английском), выбираем понравившуюся иконку и копируем ее имя. Обратите внимание, что все иконки прописываются так: icon: mdi:имя_иконки. После двоеточия, перед именем иконки пробела нет. И не забываем про mdi: перед именем.
    Где найти иконки для Home Assistant
  3. Обратите внимание на вложенность и пробелы в примере выше. Например, карточки, относящиеся к type: vertical-stack идут с выносом пробелами. Ниже идет горизонтальная группировка – type: horizontal-stack. Она вынесена от вертикальной (т к относится к ней) и все карточки, которые относятся к горизонтальной вынесены относительно нее. Если не соблюсти правила вложенности, то Home Assistant выдаст ошибку.
  4. Обязательные атрибуты, которые необходимо прописать карточке или сущности в официальной документации помечены словом REQUIRED. Опциональные – optional.
  5. После редактирования конфигурации не забывайте нажимать на иконку «Сохранить», появляющуюся в правом верхнем углу:
    Сохранить изменения
    При редактировании интерфейса дополнительно выполнять проверку конфигурации и перезагружать сервер не нужно.

Ссылки на другие уроки по настройке Home Assistant.

У этой записи 135 комментариев

  1. Андрей

    Добрый день
    У меня ругается на
    #Редактирование интерфейса в файле конфигурации
    lovelace:
    mode: yaml

    Ошибка: Component error: mode — Integration ‘mode’ not found.

    Ну и соответственно при удалении этих строк интерфейс не создаётся. Подскажите, пожалуйста, варианты решения

    1. Admin

      Добрый день. Я ошибся при вставке кода в статью. Добавьте два пробела перед mode. В статье поправил. Спасибо.

  2. Владимир

    Не загружается магазин приложений в супервизоре, подскажите что делать?

    1. Admin

      Добрый день! Не сталкивался с таким. По информации с официального форума Home Assistant помогает одно из:
      Перезагрузить через три точки (на этой странице справа вверху).
      Перезагрузить эту страницу нажав Ctrl + F5.
      Перезагрузить Home Assistant. Настройки — Сервер — Перезапустить.

      Еще возможны проблемы с интернетом. Можно попробовать изменить DNS на 8.8.8.8 и 8.8.4.4.
      И обновить HA, если установлена не последняя версия.

  3. Shurup

    В файле ui-lovelace.yaml в строке «entity: sensor.processor_use_percent #Выводит загрузку процессора в процентах» следует указать сенсор sensor.processor_use.

    1. Admin

      Не могу вспомнить, почему именно так, но работает именно с «_percent». Сенсор в панели разработчика у меня называется именно «sensor.processor_use_percent».

      1. VictorSedoy

        У тебя получается, что в конфиге сенсоров прописано sensor.processor_use, а в ловеласе sensor.processor_use_percent. Я копировал твой пример и у меня при проверке выдало ошибку.
        Я удалил _percent из ловеласа и всё заработало как у тебя на скрине. Возможно это была ошибка в старых версиях НА. Пишу из февраля 2023 ))

        1. Admin

          Может быть. Разработчики периодически что-то меняют и некоторые параметры/строчки/интеграции перестают работать или прописываются по другому.

  4. Alex

    Хм… а чего делать если у меня в панели разработчика нет сенсоров?
    только
    binary_sensor.updater
    person.alex
    sun.sun
    weather.z_tehnologies
    zone.home

    1. Alex

      вопрос снят, надо было добавить в 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

  5. Андрей

    После последнего обновления до 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 горит зеленый индикатор правильности конфигурации. Подскажите плиз, куда копать

    1. Admin

      Бывает такое, что в 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

  6. len04ka

    К сожалению не работает, точнее частично.
    processor_use_percent — объект processor_use_percent недоступен. Правильно processor_use, но показывает 0
    processor_temperature — объект processor_temperature недоступен.

    1. VictorSedoy

      У меня тоже несколько секунд показывал 0, но потом завёлся.

  7. Risen

    А e меня не работает цветовая дифференциация [s]штанов[/s], почему-то только зеленый в «спидометрах» при любом значении.

  8. Juliaahln

    May I reach out to the Administration?
    This concerns advertising on your site.
    Best regards.

Добавить комментарий