Полезные сенсоры для Home Assistant

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

Версия Home Assistant

sensor:
  - platform: version
    name: HA Version

Создает сенсор sensor.ha_version

Значение этого сенсора это версия Home Assistant, которая установлена. Например "0.118.2"

Версия Supervisor

sensor:
  - platform: command_line
    name: Supervisor Version
    command: 'curl -s http://supervisor/supervisor/info -H "Authorization: Bearer $SUPERVISOR_TOKEN"|jq -r ".data.version"'

Значение этого сенсора это версия супервизора, которая установлена. Например "2020.12.2".

(Код сенсора базируется на коде с форума Home Assistant https://community.home-assistant.io/t/sensor-for-version-supervisor-dns-audio/183422/9 )

Супервизор обновляется сам. Не существует штатной возможности отключить автоматическое обновление супервизора. Чаще всего изменения супервизора никак не влияют на то как работает система, но иногда супервизор приносит что-то новое.

Бывает полезно написать автоматизацию, которая отправляет сообщение в телеграм про обновление версии супервизора:

automation:
  - alias: Notify about new supervisour version
    trigger:
      platform: state
      entity_id: sensor.supervisor_version
    action:
      - service: notify.me
        data_template:
          message: "Supervisor updated from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}"

(Текст о том как настроить отправку сообщений в Telegram из Home Assistant)

Еще бывает удобно вывести в интерфейс график с визуализацией когда менялись версии:

  - type: history-graph
    hours_to_show: 48
    refresh_interval: 0
    entities:
      - entity: sensor.date
      - entity: sensor.ha_version
      - entity: sensor.supervisor_version

Загрузка процессора

sensor:
  - platform: systemmonitor
    resources:
      - type: processor_use

Температура процессора на Raspberry Pi

sensor:
  - platform: command_line
    name: CPU Temperature
    command: "cat /sys/class/thermal/thermal_zone0/temp"
    unit_of_measurement: "°C"
    value_template: '{{ value | multiply(0.001) | round(1) }}'

На Raspberry Pi эта температура всегда должна быть меньше 60 градусов. Если у вас температура больше, то нужно устанавливать более качественный корпус и вентилятор. Вот пример корпуса который весь один большой радиатор.

Троттлинг Raspberry Pi

sensor:
  - platform: command_line
    name: CPU get_throttled
    command: "cat /sys/devices/platform/soc/soc:firmware/get_throttled"

Этот сенсор показывает состояние троттлинга на Raspberry Pi. Если значение сенсора число 0 — это значит все хорошо, троттлинга нет. Если же значение сенсора это какое-то другое число — это значит компьютеру плохо и включается троттлинг. Плохо компьютеру может быть от двух причин: либо он перегрелся, либо недостаточно питания.

Размер SQLite базы данных с точки зрения базы данных

sensor:
  - platform: sql
    scan_interval: 600
    queries:
      - name: DB Size
        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'

Иван Бессарабов
ivan@bessarabov.ru

3 декабря 2020

Кстати, у меня есть телеграм канал про Home Assistant: https://t.me/bessarabov_ha