Главная страницаHome AssistantТемпература и нагрузка процессора в Home Assistant
Температура и нагрузка процессора в Home Assistant

Температура и нагрузка процессора в 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.

Был ли полезен материал?

Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.

Оставить комментарий