Удалена возможность настройки сенсора времени работы сервера с помощью yaml

Мониторить показатели сервера умного дома внутри самой системы умного дома? Почему бы и нет.

В этой статье я расскажу о том, как настроить мониторинг сервера Home Assistant внутри самого Home Assistant при помощи нескольких стандартных интеграций.

Содержание

  • 1 Добавляем интеграции
    • 1.1 Updater
    • 1.2 Raspberry Pi Power Supply Checker
    • 1.3 System Monitor и Version
  • 2 Настраиваем карточку с информацией
  • 3 Заключение

Добавляем интеграции

Для реализации используемого мной мониторинга можно воспользоваться следующими интеграциями:

  • Updater — проверяет наличие доступных обновлений для Home Assistant
  • Version — выводит номер текущей версии Home Assistant
  • Raspberry Pi Power Supply Checker — проверяет достаточность питания для Raspberry Pi
  • System Monitor — выводит различные показатели системы

Если ваш Home Assistant установлен не на Raspberry Pi, то интеграцию Raspberry Pi Power Supply Checker можно не включать. Все остальные интеграции универсальны и не зависят от железа.

Updater

Бинарный сенсор Updater активен в Home Assistant по умолчанию с момента установки. Его добавлять не нужно.

Raspberry Pi Power Supply Checker

Интеграцию с этим сенсором, проверяющим «малинку» на наличие предупреждений о недостаточности питания (значок молнии на экране) активируем в веб-интерфесе Home Assistant:

Настройки → Интеграции → Добавить интеграцию → Raspberry Pi Power Supply Checker

System Monitor и Version

Эти интеграции дописываем в файл configuration.yaml:

sudo nano /home/homeassistant/.homeassistant/configuration.yaml

(Если Home Assistant устанавливался по моей инструкции, то путь к файлу будет таким)

Код для configuration.yaml:

sensor:
  - platform: systemmonitor
    resources:
      - type: disk_use_percent
        arg: /
      - type: memory_use_percent
      - type: processor_temperature
      - type: ipv4_address
        arg: wlan0
      - type: processor_use
      - type: last_boot

  - platform: version

В данном случае у нас будут доступны следующие сенсоры от System Monitor: disk_use_percent (объем занятого дискового пространства в процентах), memory_use_percent (объем занятой оперативной памяти в процентах), processor_temperature (температура CPU), ipv4_adress (IP-адрес устройства в локальной сети, wlan0 для беспроводного подключения или eth0 для Ethernet), processor_use (нагрузка на процессор в процентах), last_boot (время с последней перезагрузки устройства).

После чего перезагружаем Home Assistant, чтобы он «увидел» новые сенсоры:
Настройки → Сервер → Перезапустить

Это важно

Home Assistant очень чувствителен к отступам в строках. Замена пробелов табуляцией, хотя бы один лишний или недостающий пробел — и вместо перезапуска сервера в уведомлениях появится сообщение об ошибке.

Настраиваем карточку с информацией

Теперь добавляем новую карточку и выводим в нее появившиеся сенсоры:
Изменить панель → Добавить карточку → Объекты.

Я использую карточку типа «Объекты» (Entities), но можно взять зайдействовать другой вид оформления. Например, разнести сенсоры по отдельным карточкам с разным представлением информации.

Код для карточки:

type: entities
entities:
  - entity: sensor.processor_temperature
    name: Температура CPU
    icon: 'mdi:temperature-celsius'
  - entity: sensor.processor_use_percent
    name: Загрузка CPU
  - entity: sensor.memory_use_percent
    name: Загрузка RAM
  - entity: sensor.disk_use_percent
    name: Заполненность HDD
  - entity: binary_sensor.rpi_power_status
    name: Статус питания
  - entity: sensor.ipv4_address_wlan0
    name: IP-адрес (Wi-Fi)
  - entity: sensor.last_boot
    name: Последняя перезагрузка
  - entity: sensor.current_version
    name: Версия Home Assistant
    icon: 'mdi:home-assistant'
  - entity: binary_sensor.updater
    name: Обновление HA доступно
title: Статус системы

В данном случае мы добавляем кастомные иконки к сенсорам с температурой процессора и текущей установленной версией Home Assistant. Также каждому сенсору присваивается удобное для восприятия название.

Получившаяся карточка в веб-интерфейсе:
Мониторинг сервера Home Assistant внутри Home Assistant

Заключение

Вот таким образом можно мониторить состояние сервера Home Assistant внутри самой системы умного дома.

На данный момент мой сервер Home Assistant работает на базе Raspberry Pi 4 с 4 Гб оперативной памяти. В следующих статьях цикла я опишу другие используемые мной интеграции.

system_sensors: recorder: db_url: !secret db_link # db_url: sqlite:////config/home-assistant_v2.db purge_keep_days: 7 auto_purge: true commit_interval: 60 include: entities: # — binary_sensor.rpi_power_status sensor.processor_usesensor.disk_use_percentsensor.memory_use_percentsensor.disk_freesensor.processor_temperaturesensor.home_assistant_v2_db_sizesensor.maria_dbsensor.file_editor_cpu_percentsensor.home_assistant_google_drive_backup_cpu_percentsensor.mariadb_cpu_percentsensor.mosquitto_broker_cpu_percentsensor.samba_share_cpu_percentsensor.zigbee2mqtt_cpu_percentsensor.zigbee2mqtt_cpu_percent_2 homeassistant: customize: sensor.processor_use: friendly_name: Загрузка процессора sensor.disk_use_percent: friendly_name: Использование диска sensor.disk_free: friendly_name: Свободно на диске sensor.processor_temperature: friendly_name: Температура процессора sensor.memory_use_percent: friendly_name: Использование ОЗУ sensor.home_assistant_v2_db_size: friendly_name: Объем базы HA sensor.maria_db: friendly_name: Объем базы Maria DB sensor.online_custom: friendly_name: Home Assistant в онлайне — sensor.last_boot_custom: friendly_name: Сервер в онлайне — sensor.custom_time: friendly_name: Текущее время — sensor: — platform: systemmonitor resources: — type: processor_usetype: disk_use_percent arg: /type: memory_use_percenttype: last_boottype: disk_free arg: /type: processor_temperature # Платформа перенесена в UI # — platform: filesize # file_paths: # — /config/home-assistant_v2.db # — platform: sql # db_url: !secret db_link # queries: # — name: maria_db # query: ‘SELECT table_schema «database», Round(Sum(data_length + index_length) / 1048576, 2) «value» FROM information_schema.tables WHERE table_schema=»homeassistant» GROUP BY table_schema;’ # column: ‘value’ # unit_of_measurement: MB # Платформа перенесена в UI # — platform: uptime # name: onlineplatform: time_date display_options: — timedatedate_timetime_dateplatform: command_line name: supervisor_updates command: curl http://supervisor/supervisor/info -H «Authorization: Bearer $(printenv SUPERVISOR_TOKEN)» | jq »{«newest_version»:.data.version_latest,»current_version»:.data.version,»update_available»:.data.update_available,»addons»:[.data.addons[] | select(.update_available)]}» value_template: «{{ value_json.addons | length }}« unit_of_measurement: доступно обновлений json_attributes: — update_availablenewest_versioncurrent_versionaddons binary_sensor: — platform: workday country: UA template: — trigger: — platform: time_pattern seconds: «/30« sensor: — name: time_1_sec state: {{ as_timestamp(now()) | round(default=0)}}sensor: — name: custom_time state: > {{states(«sensor.time_1_sec») | int | timestamp_custom(«%H:%M:%S») }} # Время с последней перезагрузки Home Assistantname: online_custom state: > {% set s = (states(«sensor.time_1_sec») | int — as_timestamp(states(‘sensor.online’)) | int) %} {{ ‘{:d} дн. {:02d}:{:02d}:{:02d}’.format (s // 86400, s % 86400 // 3600, s % 3600 // 60, s % 60) }} # {% set uptime = as_timestamp (now()) -as_timestamp(states(‘sensor.online’)) | int %} # {% set minutes = (( uptime % 3600) / 60) | int %} # {% set hours = ((uptime % 86400) / 3600) | int %} # {% set days = (uptime / 86400) | int %} # {% if uptime < 60 %} # Меньше минуты # {% else %} # {% if days > 0 %} # {{ days }} д. # {% endif %} # {% if hours > 0 %} # {% if days > 0 %} # {{ ‘ ‘ }} # {% endif %} # {{ hours }} ч. # {% endif %} # {% if minutes > 0 %} # {% if days > 0 or hours > 0 %} # {{ ‘ ‘ }} # {% endif %} # {{ minutes }} мин. # {% endif %} # {% endif %} # icon: mdi:clock # Время с последней перезагрузки сервераname: last_boot_custom state: > {% set s = (states(«sensor.time_1_sec») | int — as_timestamp(states(‘sensor.last_boot’)) | int) %} {{ ‘{:d} дн. {:02d}:{:02d}:{:02d}’.format (s // 86400, s % 86400 // 3600, s % 3600 // 60, s % 60) }}

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

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

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

Для редактирования файлов конфигурации скачиваем и устанавливаем 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.

Issues starting with 103.1-5
Below is what I get when i make the declaration in sensor.yaml and then try to add it through integrations, don’t get the popup to enter URL/Port or anything, it just hangs. You even get a «discovered new devices» with the cert_expiry once you add it to sensor.yaml. See below error.

What I tried:
Removing from sensor.yaml, adding through integrations (if you don’t have it defined in sensor.yaml it works fine), stopping services, adding back to sensor.yaml, starting services.

Result
Nothing, it boots up with «unavailable». Removing/adding the integration fixes the issue but the problem is other integration depend on this during bootup. For instance, crime_reports depends on this to even pull data.

Having just the integration and no sensor.yaml, after restarting services you get «unavailable» again.

Dec 30 23:09:53 raspberrypi hass[21472]: 2019-12-30 23:09:53 ERROR (MainThread) [aiohttp.server] Error handling request
Dec 30 23:09:53 raspberrypi hass[21472]: Traceback (most recent call last):
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_protocol.py», line 418, in start
Dec 30 23:09:53 raspberrypi hass[21472]: resp = await task
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_app.py», line 458, in _han dle
Dec 30 23:09:53 raspberrypi hass[21472]: resp = await handler(request)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_middlewares.py», line 119, in impl
Dec 30 23:09:53 raspberrypi hass[21472]: return await handler(request)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/real_ip. py», line 40, in real_ip_middleware
Dec 30 23:09:53 raspberrypi hass[21472]: return await handler(request)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/ban.py», line 73, in ban_middleware
Dec 30 23:09:53 raspberrypi hass[21472]: return await handler(request)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/auth.py» , line 136, in auth_middleware
Dec 30 23:09:53 raspberrypi hass[21472]: return await handler(request)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/view.py» , line 123, in handle
Dec 30 23:09:53 raspberrypi hass[21472]: result = await result
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/config/config _entries.py», line 154, in get
Dec 30 23:09:53 raspberrypi hass[21472]: return await super().get(request, flow_id)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/data_entry_flow. py», line 78, in get
Dec 30 23:09:53 raspberrypi hass[21472]: result = await self._flow_mgr.async_configure(flow_id)
Dec 30 23:09:53 raspberrypi hass[21472]: File «/srv/homeassistant/lib/python3.6/site-packages/homeassistant/data_entry_flow.py», lin e 86, in async_configure
Dec 30 23:09:53 raspberrypi hass[21472]: if cur_step.get(«data_schema») is not None and user_input is not None:
Dec 30 23:09:53 raspberrypi hass[21472]: AttributeError: ‘NoneType’ object has no attribute ‘get’

home assistant мониторинг systemmonitor

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

В Home Assistant есть специальная платформа под названием System Monitor с набором сенсоров для мониторинга локальной системы. System Monitor позволяет отслеживать загрузку и температуру процессора, загрузку оперативной памяти и диска, трафик на сетевых интерфейсах. Все описание взято на официальном сайте Home Assistant и применимо для систем семейства Unix/Linux/BSD.

Добавление System Monitor в Home Assistant

Для добавления платформы System Monitor в систему автоматизации Home Assistant в файл конфигурации configuration.yaml добавляем:

sensor:
  - platform: systemmonitor
    resources:
      - type: processor_use
      - type: load_5m
      - type: memory_use_percent
      - type: disk_use_percent
      - type: disk_use
      - type: disk_free
      - type: last_boot

Не надо добавлять все сенсоры, в раздел resources достаточно добавить только необходимые.

Список доступных типов сенсоров:

processor_use — текущая загрузка процессора в процентах.

processor_temperature — температура процессора. Если аппаратный датчик не доступен, например, в виртуальной машине, то сенсор не создается. Возможность выводить температуру по отдельным ядрам отсутствует, показываются только данные первого датчика.

load_1m — среднее значение загрузки системы (Load Average) за 1 минуту.

load_5m — среднее значение загрузки системы (Load Average) за 5 минут.

load_15m — среднее значение загрузки системы (Load Average) за 15 минут.

memory_use_percent — текущий размер использованной оперативной памяти в процентном показателе.

memory_use — количество использованной оперативной памяти.

memory_free — количество свободной оперативной памяти.

disk_use_percent — текущий размер использованного дискового пространства в процентном показателе. Данный тип может использоваться с необязательным аргументом, ссылающимся на монтированный раздел в папку (например, /home). По умолчанию используется корневой путь /.

disk_use — количество использованного дискового пространства. Данный тип может использоваться с необязательным аргументом, ссылающимся на монтированный раздел в папку (например, /home). По умолчанию используется корневой путь /.

disk_free — количество свободного дискового пространства. Данный тип может использоваться с необязательным аргументом, ссылающимся на монтированный раздел в папку (например, /home). По умолчанию используется корневой путь /.

swap_use_percent — текущий размер использованного пространства раздела Swap в процентном показателе.

swap_use — количество использованного пространства раздела Swap.

swap_free — количество свободного пространства раздела Swap.

throughput_network_in — текущая скорость входящего трафика. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

throughput_network_out — текущая скорость исходящего трафика. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

network_in — количество входящего трафика. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

network_out — количество исходящего трафика. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

packets_in — количество вошедших пакетов. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

packets_out — количество ушедших пакетов. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

ipv4_address — адрес IPv4 присвоенному интерфейсу. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

ipv6_address — адрес IPv6 присвоенному интерфейсу. В качестве обязательного аргумента указывается сетевой интерфейс (например, eth0).

process — состояние указанного процесса. В качестве обязательного аргумента необходимо указать наименование процесса (например, sshd).

last_boot — последняя загрузка системы.

Использование аргументов

Некоторые типы сенсоров используют обязательные и не обязательные аргументы. Их указание в файле будет configuration.yaml следующим:

sensor:
  - platform: systemmonitor
    resources:
      - type: disk_use
        arg: /boot
      - type: process
        arg: sshd
      - type: throughput_network_in
        arg: enp1s0
      - type: throughput_network_out
        arg: enp1s0

где тип сенсора disk_use будет показывать использованное дисковое пространство для раздела boot, а исходящий трафик для throughput_network_in будет показан для сетевого интерфейса enp1s0.

После добавления всех необходимых сенсоров сохраняем файл configuration.yaml и выполняем проверку на наличие ошибок Configuration -> Server Controls -> Check configuration. Перезагружаем Home Assistant.

Добавляем необходимые сенсоры на панель Lovelace.

home assistant systemmonitor

Автоматизация

Как писалось ранее, к мониторингу я пришел из-за закончившегося места на диске. Создадим автоматизации, которые будут предупреждать о низком и критическом свободном месте.

Автоматизация будет присылать уведомление, когда свободного места на диске останется менее 10Gb. На основе этой автоматизации можно создать вторую, уведомляющую, когда свободное место на диске будет критическим, например, 3Gb. Добавляем в файл automations.yaml.

- id: 'system_monitor_low_disk_space'
  alias: System monitor - Low disk space
  trigger:
  - platform: numeric_state
    entity_id: sensor.disk_free
    below: '10'
  condition: []
  action:
  - service: persistent_notification.create
    data:
      title: ⚠ - Warning!
      message: Home Assistant server - Low disk space < 10Gb
  - service: telegram_bot.send_message
    data:
      message: ⚠ - Home Assistant server - Low disk space < 10Gb
  mode: single

Следующая автоматизация по команде /sysmon боту в Telegram будет присылать текущее состояние системы, соответствующие типы сенсоров должны быть прописаны в разделе resources. Добавляем в файл automations.yaml.

- id: 'systemmonitor_telegram_system_state'
  alias: System Monitor - Telegram - System state
  trigger:
  - platform: event
    event_type: telegram_command
    event_data:
      command: /sysmon
  condition: []
  action:
  - service: telegram_bot.send_message
    data:
      message: 'CPU: {{ states(''sensor.processor_use_percent'') }}%, Mem Use: {{ states(''sensor.memory_use_percent'') }}%, Disk use: {{ states(''sensor.disk_use_percent'') }}%, Load 1/5/15: {{ states(''sensor.load_1m'') }}/{{ states(''sensor.load_5m'') }}/{{ states(''sensor.load_15m'') }}'
  mode: single

Как настроить бота для Telegram подробно описано в статье: Подключение Telegram bot к Home Assistant для доставки уведомлений и управления умным домом.

По умолчанию свеже установленный Home Assistant встречает нас с таким вот содержимым 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: !include_dir_merge_list includes/sensors binary_sensor: !include_dir_merge_list includes/bin_sensor switch: !include_dir_merge_list includes/switches climate: !include includes/climate.yaml mqtt_statestream: !include includes/mqtt_statestream.yaml input_number: !include includes/input_number.yaml input_select: !include includes/input_select.yaml media_player: !include includes/mplayer.yaml light: !include includes/light.yaml…

Все эти include, include_dir_merge_list, include_dir_merge_named и прочее могут взорвать мозг даже бывалому адепту Home Assistant. А новичка и подавно введут в ступор и будут причиной кучи ошибок.

Но есть более простой способ формировать свой конфиг:

default_config: automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml homeassistant: packages: !include_dir_named conf

Добавив в configuration.yaml строки homeassistant/packages — вы можете больше никогда не открывать этот файл и не вносить в него изменения. Файлы automations.yaml, scripts.yaml и scenes.yaml — тоже не трогайте. Они нужны для настройки автоматизаций, скриптов и сцен из GUI.

Теперь создайте папку conf в директории с конфигами и пишите ваши конфиги там.

Например, хотите добавить управление колонкой от Яндекса — создайте в папке conf файл yandex_station.yaml с примерно таким содержимым:

yandex_station: username: myuser@yandex.ru password: mypass script: yandex_tts: alias: TTS на Станции sequence: — service: media_player.play_media entity_id: media_player.yandex_station # замените на вашу станцию data: media_content_id: Проверка TTS от Яндекс.Станции media_content_type: text yandex_play_url: alias: Проигрывание медиа по ссылке sequence: — service: media_player.play_media entity_id: media_player.yandex_station # замените на вашу станцию data: media_content_id: https://music.yandex.ru/album/2150009/track/19174962 media_content_type: xxx # тип не важен, но должен быть!

Хотите добавить Яндекс Алису в Телеграм — создайте файл telegram.yaml

telegram_bot: — platform: polling api_key: TELEGRAM_BOT_API_KEY # создайте своего Телеграм бота allowed_chat_ids: — TELEGRAM_USER_ID # укажите ID своего аккаунта notify: — name: telegram # можете указать своё имя notify platform: telegram chat_id: TELEGRAM_USER_ID # укажите ID своего аккаунта automation: — trigger: platform: event event_type: telegram_text action: service: media_player.play_media entity_id: media_player.yandex_station_mini # замените на вашу станцию data_template: media_content_id: «{{ trigger.event.data.text }}» media_content_type: question — trigger: platform: event event_type: yandex_station_response action: service: notify.telegram # поменяйте, если у вас своё имя notify data_template: message: «{{ trigger.event.data.text }}»

Для каких-то общесистемных вещей можно создать файл system.yaml

sensor: — platform: dnsip start_time: script: restart: alias: Restart Home Assistant sequence: — service: homeassistant.restart speedtestdotnet:

Надеюсь идея ясна. Вы группируете ваш конфиг не по выключателям, лампочкам и автоматизациям. А по тематикам. Чтоб было легче по нему ориентироваться и управлять.

У меня, к примеру, есть конфиги: camera, clear_grass, dev, google_assistant, hubs, light_and_switch, media, purifier, system, telegram, weather, yandex_smart_home.

Новые файлы в директории conf никуда прописывать не надо. Они автоматически подхватятся при перезагрузке.

Каждый файл в директории conf может иметь свои автоматизации, скрипты, сенсоры и прочее. Они все автоматически «склеятся» с автоматизациями и скриптами из GUI.

Как только вам интеграция не нужна — можно переименовать telegram.yaml в telegram.yaml.bak и перезапустить Home Assistant. Интеграция со всеми зависимостями и автоматизациями выключиться разом.

Как-то так можно сильно упросить себе жизнь…

Содержание

  1. Home Assistant. Мониторинг системы
  2. Добавляем интеграции
  3. Updater
  4. Raspberry Pi Power Supply Checker
  5. System Monitor и Version
  6. Настраиваем карточку с информацией
  7. Заключение
  8. 11 комментария на «Home Assistant. Мониторинг системы»
  9. Получение списка устройство в Home Assistant с помощью nmap
  10. Update
  11. Мониторинг удаленной системы в Home Assistant
  12. Установка Glances в ОС Debian, Ubuntu, Raspberry Pi OS
  13. Установка Glances в ОС CentOS 7/8
  14. Установка Glances в ОС FreeBSD
  15. Первый запуск Glances
  16. Установка доступа по паролю
  17. Запуск Glances как сервиса в Debian, Ubuntu, Raspberry Pi OS, CentOS
  18. Запуск Glances как сервиса в OS FreeBSD
  19. Добавление датчиков в Home Assistant
  20. Безопасность
  21. Автоматизация
  22. Мониторим температуру процессора и загруженность системы в Home Assistant.
  23. Установка аддона File Editor.
  24. Конфиг System monitor.
  25. Добавление сенсоров на главный экран.
  26. Информация о подключенных к роутеру устройствах в Home Assistant
  27. Добавляем Mikrotik в Home Assistant
  28. Выводим информацию о подключенных устройствах на карту

Home Assistant. Мониторинг системы

Мониторить показатели сервера умного дома внутри самой системы умного дома? Почему бы и нет.

В этой статье я расскажу о том, как настроить мониторинг сервера Home Assistant внутри самого Home Assistant при помощи нескольких стандартных интеграций.

Добавляем интеграции

Для реализации используемого мной мониторинга можно воспользоваться следующими интеграциями:

Если ваш Home Assistant установлен не на Raspberry Pi, то интеграцию Raspberry Pi Power Supply Checker можно не включать. Все остальные интеграции универсальны и не зависят от железа.

Updater

Бинарный сенсор Updater активен в Home Assistant по умолчанию с момента установки. Его добавлять не нужно.

Raspberry Pi Power Supply Checker

Интеграцию с этим сенсором, проверяющим «малинку» на наличие предупреждений о недостаточности питания (значок молнии на экране) активируем в веб-интерфесе Home Assistant:

Настройки → Интеграции → Добавить интеграцию → Raspberry Pi Power Supply Checker

System Monitor и Version

Эти интеграции дописываем в файл configuration.yaml:

(Если Home Assistant устанавливался по моей инструкции, то путь к файлу будет таким)

Код для configuration.yaml:

В данном случае у нас будут доступны следующие сенсоры от System Monitor: disk_use_percent (объем занятого дискового пространства в процентах), memory_use_percent (объем занятой оперативной памяти в процентах), processor_temperature (температура CPU), ipv4_adress (IP-адрес устройства в локальной сети, wlan0 для беспроводного подключения или eth0 для Ethernet), processor_use (нагрузка на процессор в процентах), last_boot (время с последней перезагрузки устройства).

После чего перезагружаем Home Assistant, чтобы он «увидел» новые сенсоры:
Настройки → Сервер → Перезапустить

Настраиваем карточку с информацией

Теперь добавляем новую карточку и выводим в нее появившиеся сенсоры:
Изменить панель → Добавить карточку → Объекты.

Я использую карточку типа «Объекты» (Entities), но можно взять зайдействовать другой вид оформления. Например, разнести сенсоры по отдельным карточкам с разным представлением информации.

В данном случае мы добавляем кастомные иконки к сенсорам с температурой процессора и текущей установленной версией Home Assistant. Также каждому сенсору присваивается удобное для восприятия название.

Получившаяся карточка в веб-интерфейсе:
hasystemmonitor 01

Заключение

Вот таким образом можно мониторить состояние сервера Home Assistant внутри самой системы умного дома.

На данный момент мой сервер Home Assistant работает на базе Raspberry Pi 4 с 4 Гб оперативной памяти. В следующих статьях цикла я опишу другие используемые мной интеграции.

11 комментария на «Home Assistant. Мониторинг системы»

Малинка не самый лучший вариант для установки Home Assistant. В ФБ есть сообщество и почти все посты там о том что на малинке что-то отвалилось или не работает. Лучше установить на виртуальную машину. Сам пользуюсь TrueNAS Core (новое название FreeNAS) и там создал виртуальную машину по этой инструкции, она универсальна для любых платформ.
https://community.home-assistant.io/t/alternative-way-of-running-hassos-full-os-on-freenas-without-iocage-or-docker/133738
Причём заметил что у Вас Home Assistant без Superviser, это так задумано? Это же жутко неудобно, потому что Superviser это склад приложений и расширений, где есть например SMB Share к системному разделу, файловый редактор прямо в браузере, EspHome интегрированное прямо в Home Assistant, Google Drive automatic backup (https://github.com/sabeechen/hassio-google-drive-backup) и многое многое другое

Можно сказать, что да, так задумано. Мне установка в виртуальное окружение показалась наиболее удобной, т.к. при этом остается полный доступ к системе и можно параллельно хостить на том же устройстве и другие сервисы. А Supervisor доступен только при установке Hass.io, при этом либо теряется полный доступ к системе, либо нужно будет на ходу осваивать Docker или другие технологии виртуализации.
В перспективе — может быть, но точно не сейчас :).

Поищу то сообщество в фейсбуке, пока про проблемы с HA на RPi читать не доводилось.

Дмитрий, HA очень быстро убивает SD карты постоянной перезаписью логов, в курсе?

Да, поэтому тот микрокомпьютер где сейчас крутится HA у меня грузится с внешнего SSD

Ребят подскажите как заставить видеть температуру проца, если стоит НАС на виртуальной машине? А то все видит кроме температур

Установить Glances прямо на сервер (не на виртуальную машину), а из HA настроить интеграцию с ним (она есть в числе стандартных). При помощи Glances можно мониторить состояние любого компьютера на Linux, Windows, macOS.

Как то напряжно ставить там через питон. Сделал через openhardwaremonitor все норм работает.

Как можно вывести свободное место на диске подключенного по USB через disk_use_percent?
Пытался подобрать arg не получилось

Да, пытался написать «/mnt/usbhdd»

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.1T 906G 95G 91% /mnt/usbhdd

Источник

Получение списка устройство в Home Assistant с помощью nmap

Одна из вещей, которую умеет делать Home Assistant, это штука под названием «device tracking» — отслеживание устройств в домашней WiFi сети.

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

Для того чтобы строить такие автоматизации в Home Assistant нужно в первую очередь научить его отслеживать наличие устройств в WiFi сети.

Есть несколько способов как Home Assistant может узнавать про наличие устройств в сети. Если у вас достаточно современный WiFi роутер, то этот роутер знает что к нему подключено и через специальное API позволяет получить этот список устройств (так умеет, например, роутер Xiaomi Router 4). Если у вас есть роутер, который умеет взаимодействовать с Home Assistant, то лучше всего настроить device tracking с помощью роутера.

Но далеко не все роутеры могут взаимодействовать с Home Assistant. Но, к счастью, есть другой способ как Home Assistant может узнать какие устройства есть в WiFi сети. Этот способ называется «nmap». Вообще «nmap» это такая специальная утилита в Linux. Эта утилита появилась еще в прошлом веке (в конце 1990-x годов) и с тех пор продолжает развиваться. С помощью «nmap» можно определять какие устройства подключены к сети, какие порты на них открыты и какая операционная система работает на этих устройствах. Home Assistant не использует все возможности «nmap», а использует только возможность про нахождению устройств.

Чтобы настроить device tracking в HA нужно отредактировать файл configuration.yaml и добавить в него фрагмент что-то вроде этого:

Изначально у меня в конфигурации не было настройки «interval_seconds: 60», но без этой настройки в логах Home Assistant очень часто было предупреждения вида:

Если не указать «interval_seconds», то значение по умолчанию это 12 секунд — каждые 12 секунд HA запускает команду «nmap», не всегда она успевает отработать до момента когда нужно запускать «nmap» в следующий раз и из-за этого предупреждение в логе. На мой взгляд, проверять на устройства 5 раз в минуту — это чересчур. Я переставил на проверку раз в минуту и предупреждения в логе больше не появляются.

После изменения файла configuration.yaml нужно перезапустить Home Assistant. Когда он снова поднимется он начнет раз в минуту опрашивать WiFi сеть. Результат этого опроса — это две вещи.

Во-первых, Home Assistant начнет складывать информацию про все найденные устройства в файл known_devices.yaml. Этот файл лежит там же где и configuration.yaml. Вот фрагмент known_devices.yaml с информацией про одно устройство:

Нужно помочь Home Assistant, понять что за устройство скрывается за маком и заполнить информацию про устройство. Вот что стало с записью про это устройство, после того как я его отредактировал:

Это устройство — это один из тех датчиков температуры что я сделал некоторое время назад. Вместо первой строки «4c_11_ae_0d_7a_ab:» я написал более приличный id: «wemos_bath:», написал «name:» и указал адрес картинки устройства.

Для того чтобы HA узнал про изменения в файле known_devices.yaml HA нужно перезагрузить.

Если HA увидит новый mac адрес, то он допишет его в файл known_devices.yaml и можно будет отредактировать эту запись.

А вот пример yaml с конфигурацией интерфейса, которая отобразит историю нахождения устройства в WiFi сети:

Вот скриншот как это может выглядеть:

QrlVgVSiY5ZNWnKl6td835N94qw

Update

Системе обнаружения устройств с помощью nmap у меня проработала около месяца. Я купил новый WiFi роутер, из которого Home Assistant может забирать данные про устройства. Перенастроил Home Assistant чтобы он использовал данные с роутера и прямо поразился насколько это лучше работает. Вот ссылка на подробности со скриншотом.

Источник

Мониторинг удаленной системы в Home Assistant

Настраивая мониторинг локальной системы в Home Assistant сразу появилась мысль настроить мониторинг и удаленных систем. Полистав список интеграций наткнулся на компонент Glances, позволяющий отображать статистику удаленных машин в Home Assistant с помощью Glances API. Понятно, что для мониторинга есть специальные комплексные системы, такие как Zabbix, но для домашнего использования, с минимально необходимым набором, разворачивать их не имеет смысла, достаточно того функционала, который может предложить Home Assistant.

Установка Glances в ОС Debian, Ubuntu, Raspberry Pi OS

Установка Glances в ОС CentOS 7/8

Установка для CentOS 8:

Установка Glances в ОС FreeBSD

Установка из коллекции портов:

Для приверженцев установки из пакетов:

Первый запуск Glances

Home Assistant взаимодействует с Glances через Web API, запуск программы в режиме Web сервера выглядит так:

Если после запуска появляется сообщение: Bottle module not found. Glances cannot start in web server mode, то выполняем:

Если менеджер pip не установлен, то устанавливаем его:

Для Debian, Ubuntu, Raspberry Pi OS:

Для CentOS 7:

Для CentOS 8:

Для FreeBSD:

Установка из коллекции портов:

С помощью менеджера пакетов:

возможно вместо файла pip3 будет файл pip:

По необходимости повторяем запуск в режиме Web сервера. Далее заходим в браузере и проверяем:

При успешном подключении закрываем программу:

Установка доступа по паролю

Создадим пользователя homeassistant для доступа к Web интерфейсу.

При запуске будет предложено ввести имя пользователя, пароль и запрос на сохранение данных в файл. Сохраняем, далее будем использовать эти данные для последующего запуска и доступа Home Assistant.

Пробуем зайти через Web браузер под созданным пользователем после чего закрываем запущенную программу:

Запуск Glances как сервиса в Debian, Ubuntu, Raspberry Pi OS, CentOS

Создаем файл для запуска сервиса при старте системы:

Заполняем созданный файл.

Для CentOS 7:

Для Debian, Ubuntu, Raspberry Pi OS, CentOS 8:

Запуск Glances как сервиса в OS FreeBSD

Разработчики glances обошли стороной запуск сервиса в FreeBSD, при запуске от системного пользователя каталог

Создаем каталог /usr/local/etc/glances/ и перемещаем в него созданный файл с паролем для пользователя homeassistan.

Создаем скрипт запуска при старте системы:

Заполняем созданный файл:

В при успешном запуске должны получить такой результат:

Добавление датчиков в Home Assistant

glances integration

После успешного подключения, можем добавлять необходимые сенсоры на панель Lovelace.

glances lovelace sensors

Датчики Glances доступные в Home Assistant:

На данный момент нельзя получить информацию по сетевым интерфейсам и трафику на них, нет информации о Load Average за 1 и 5 минут. Glances умеет показывать информацию о загрузке каждого ядра, информацию о состоянии жесткого диска (SMART) и RAID массива, к сожалению данная информация так же не доступна в Home Assistant.

Информация об интеграции Glances описана в документации на сайте Home Assistant.

Безопасность

К сожалению уровень безопасности ограничивается только доступом по паролю. Программа не умеет использовать шифрованный трафик, для использования шифрования на основе сертификатов предлагается использовать реверс прокси, например, nginx. Нельзя задать конкретные интерфейсы, на которых будет осуществлен доступ к программе. Если для мониторинга систем в домашней локальной сети это не проблема, то для ограничения доступа в крупных сетях лучше использовать Firewall, шифрованные VPN туннели и реверс прокси с шифрованием с использованием сертификатов.

Автоматизация

Как получать уведомления о заканчивающемся месте на диске было описано в статье Мониторинг локальной системы в Home Assistant.

На сервере стоит процессор с четырьмя ядрами и в Home Assistant можно посмотреть температуру на каждом ядре, сенсор server01_package_id_0_temp показывает «как бы» общую, но по факту она совпадает с температурой на первом ядре.

Источник

Мониторим температуру процессора и загруженность системы в Home Assistant.

system monitor

Мой Home Assistant работает на raspberry pi 4: http://ali.pub/53kjyp

В данной статье рассмотрим как производить мониторинг температуры процессора, а также загруженность процессора и оперативной памяти. В общем полный hardware мониторинг.

После установки Home Assistant на raspberry pi, первым делом что я хотел добавить, это мониторинг температуры процессора. Так как моя малинка была без радиаторов и кулеров. Погуглив и разобравшись немного в том как это сделать, решил и Вам показать. Может кому-то это будет интересно.

Установка аддона File Editor.

Для начала нам нужно установить аддона File Editor. Это стандартный аддон. Его можно найти по пути Supervisor->Add-on store->File editor и устанавливаем его. Данный аддон нам необходим для того чтоб править конфиги Home Assistant. Так как больше половины вещей делается только через конфиги.

Конфиг System monitor.

И так после того как мы установили аддон и можем теперь редактировать конфиги Home Assistant. Нам нужно открыть для редактирования файл configuration.yaml. Это главный файл конфигов. Далее на сайте https://www.home-assistant.io/ на вкладке integrations перечислены примеры различных интеграций в home assistant. Пишем там system monitor и переходим на найденную нами страницу. На данной странице описано как использовать system monitor. Для новичка будет довольно непонятно что там написано и как это использовать. Если в кратце, то в начале статьи есть скрин добавленных сенсоров. А именно Температуры процессора, занятой оперативной памяти и загруженности процессора. Чтоб добавить эти сенсоры в Home Assistant, нам нужно в configuration.yaml добавить следующий конфиг:

В данном конфиге описано, что это sensor, платформа у него “systemmonitor” и тип сенсоров “процент использованного простренства hdd”. “Свободной оперативной памяти”. “Загрузки процессора” и “Температуры процессора”. Тип сенсоров взят из страницы с официального статуса и выглядит он следующим образом:

type system monitor

Описания на странице данных типов сенсоров нет, но из их названия довольно легко понять что они делают. И исходя из этого добавить уже те типы которые нам необходимы.

После добавления всех сенсоров, сохраняем конфиг, нажав на дискетку. Далее заходим в Настройки->Сервер->Проверка конфигурации. Если проверка конфигурации прошла успешно, то значит мы все добавили правильно. И тогда на этой же вкладке Перезапустим Home Assistant, чтоб система перепрочитала измененный конфиг configuration.yaml и добавила новые компоненты в систему.

Добавление сенсоров на главный экран.

Чтоб добавить данные сенсоры на главный экран, после перезагрузки системы необходимо зайти на вкладку “Обзор” далее нажать на плюсик. Далее в открывшемся окне можно выбрать, что мы хотим добавить. Каточки или объекты. Для наглядности лучше выбрать карточки и выбрать какой карточкой мы хотим это наблюдать. Либо графиком, либо шкалой, либо объектом. Пример выглядит так:

%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D1%87%D0%BA%D0%B0 homeassistant

После выбора нужной нам карточки, появится настройка карточки и здесь нам нужно в поле “Объект” выбрать из списка наш сенсор который мы в конфигах добавили ранее. С каждым разом при добавлении новых вещей в конфиг, количество объектов будет увеличиваться. Вот на следующем скрине видно, как в поле “объект” мы выбрали sensor.proccessor_temperature. Это какраз сенсор отслеживающий температуру малинки.

%D1%82%D0%B5%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0 %D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0

Ну и после добавления всех сенсоров, Главный экран Home Assistant Будет выглядеть примерно так как скрин начала статьи.

Так же все это п шагам и подробно рассказываю и показываю в видео:

Источник

Информация о подключенных к роутеру устройствах в Home Assistant

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

Добавляем Mikrotik в Home Assistant

В данной статье я буду писать про добавление роутера Mikrotik, но она подойдет и для других, совместимых устройств. Сразу скажу, что через configuration.yaml у меня не получилось добавить, так что воспользовался стандартным меню интеграций.

Всего по Mikrotik есть три варианта добавления:

Идем в раздел с интеграциями, нажимаем «Добавить интеграцию» и находим там Mikrotik. Вводим все запрашиваемые для подключения данные, нажимаем подтвердить. Сразу после этого обнаружатся все подключенные по Wi-Fi устройства. После того, как нажмете готово, можно в интеграции перейти в раздел добавленных объектов и деактивировать лишние. Для этого достаточно нажать на требуемый объект и сдвинуть ползунок активации.

Все добавленные объекты могут передавать два состояния – home и not_home, на основе которых можно сделать автоматизации или изменять значок пользователя на карте дома. К сожалению не всегда все работает идеально. У меня одно из устройств, которое на данный момент не в сети, после перезагрузки HA отдает статус unavailable. Есть не перезагружать Home Assistant, то все работает корректно. С другим устройством таких проблем нет. Я так и не смог исправить эту ошибку.

Выводим информацию о подключенных устройствах на карту

Для вывода информации о подключенных устройствах в виде картинки:

Источник

Понравилась статья? Поделить с друзьями:
  • Университет компания прогрессивный проберусь блистательный коммуникационный
  • Упала возле подъезда сломала руку возмещение ущерба от управляющей компании
  • Управление росреестра по красноярскому краю реквизиты для оплаты госпошлины
  • Управление росреестра по пензенской области реквизиты для оплаты госпошлины
  • Управление росреестра по республике башкортостан официальный сайт реквизиты