Температура и нагрузка процессора в Home Assistant
Мониторинг нагрузки и температуры процессора вашего устройства очень важна. Если упустить момент перегрева, то можно получить сломанное устройство. Чтобы избежать этого, можно добавить в систему несколько новых сенсоров. Которые в свою очередь подвизать на автоматизации. Для автоматических уведомлений можно использоваться Telegram или стандартный механизм push.
Для быстрого добавления сенсоров в конфиг файлы воспользуйтесь File Editor или FTP. Данные интеграции заметно облегчают работу.
Нагрузка на процессор
Воспользуемся стандартной интеграцией systemmonitor. Полная информация по ней будет сказана ниже.
sensor:
- platform: systemmonitor
resources:
- type: processor_use
Температура процессора
Тот же systemmonitor, но с другим ресурсом.
sensor:
- platform: systemmonitor
resources:
- type: processor_temperature
Температура процессора Raspberry Pi
Если ваша система базируется на Raspberry Pi, то механизм получения данных немного отличается. Для этого требуется читать специальный файл. В котором OS записывает текущие показатели.
sensor:
- platform: command_line
name: Температура процессора
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: '{{ value | multiply(0.001) | round(1) }}'
Настоятельно рекомендуем держать температуру не больше чем 60 градусов. В противном случае система начнет подтормаживать. Raspberry Pi специально понижает частоту процессора. Тем самым охлаждая его. Такой процесс называется троттлингом. И даже его можно получить.
Троттлинг Raspberry Pi
Данный сенсор является бинарным. Показывает значение 0 или 1. При нулевом значение с системой все хорошо. А если стоит 1, то запущен процесс понижения тактовой частоты. Он сбережет ресурс, но это все равно плохо.
sensor:
- platform: command_line
name: Троттлинг процессора
command: "cat /sys/devices/platform/soc/soc:firmware/get_throttled"
Если вы видите часто троттлинг, то стоит задуматься об хорошем охлаждении системы. На aliexpress есть куча готовых решений. Будет достаточно одного мощного вентилятора.
Размер базы данных Home Assistant
Помимо температуры и нагрузки, будет полезно следить за размером базы данных. Для этого необходимо выполнять SQL запрос:
sensor:
- platform: sql
scan_interval: 700
queries:
- name: Размер базы данных
query: 'SELECT ROUND(page_count * page_size / 1024 / 1024, 1) as size FROM pragma_page_count(), pragma_page_size();'
column: 'size'
unit_of_measurement: 'MiB'
Чтобы лишний раз не нагружать базу, рекомендуем не изменять интервал проверки.
System Monitor Home Assistant
Через платформу systemmonitor можно получить очень много полезной информации. Достаточно перечислить список необходимых ресурсов. Выше мы получали нагрузку на процессор и температуру.
Давайте получим количество используемой оперативной памяти:
sensor:
- platform: systemmonitor
resources:
- type: memory_use_percent
- type: memory_use
- type: memory_free
Если вы хотите получить абсолютно все доступные параметры, то воспользуйтесь:
sensor:
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /config
- type: disk_use
- type: disk_free
- type: memory_use_percent
- type: memory_use
- type: memory_free
- type: swap_use_percent
- type: swap_use
- type: swap_free
- type: load_1m
- type: load_5m
- type: load_15m
- type: network_in
arg: eth0
- type: network_out
arg: eth0
- type: throughput_network_in
arg: eth0
- type: throughput_network_out
arg: eth0
- type: packets_in
arg: eth0
- type: packets_out
arg: eth0
- type: ipv4_address
arg: eth0
- type: ipv6_address
arg: eth0
- type: processor_use
- type: processor_temperature
- type: last_boot
Данные обновляются раз в 15 секунд после запуска Home Assistant.