Мониторинг сервера Home Assistant внутри Home Assistant

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

Дата Автор Dmitry7 комментариев 1 909 просмотров

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

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

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

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

  • 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 Гб оперативной памяти. В следующих статьях цикла я опишу другие используемые мной интеграции.

Raspberry Pi 4 2/4/8 Gb RAMна AliExpress

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

  1. Малинка не самый лучший вариант для установки 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 читать не доводилось.

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

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

Добавить комментарий для Dmitry Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

[Хамство, оскорбления и попытки крауд-маркетинга будут удалены]