Мониторить показатели сервера умного дома внутри самой системы умного дома? Почему бы и нет.
В этой статье я расскажу о том, как настроить мониторинг сервера 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, чтобы он «увидел» новые сенсоры:
Настройки → Сервер → Перезапустить
Настраиваем карточку с информацией
Теперь добавляем новую карточку и выводим в нее появившиеся сенсоры:
Изменить панель → Добавить карточку → Объекты.
Я использую карточку типа «Объекты» (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 работает на базе Raspberry Pi 4 с 4 Гб оперативной памяти. В следующих статьях цикла я опишу другие используемые мной интеграции.
Малинка не самый лучший вариант для установки 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