Publicado en Home-Assistant

Añadir un monitor del sistema en Home Assistant


Usando el elemento del sensor del monitor del sistema de Home Assistant permite monitorear el uso del disco, el uso de la memoria, el uso de la CPU y usando otros elementos podremos complementar la monitorización del sistema y obtener información detallada de su funcionamiento.

Archivo packages/system_nonitor.yaml

sensor:
  - platform: systemmonitor
    resources:
    - type: disk_use_percent
      arg: /
    - type: memory_use_percent
    - type: processor_use
    - type: last_boot
    - type: ipv4_address
      arg: wlan0

Obtener la versión instalada del home assistant

sensor:  
  - platform: version

Obtener la velocidad de la CPU

sensor:
  - platform: cpuspeed
    name: 'CPU Speed'

Obtener la temperatura de la CPU

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) }}'

Obtener el tamaño de la base de datos SQLITE3: importante permitir acceso a la lectura del directorio config

#Configuration.yaml
homeassistant:
  whitelist_external_dirs:
    - /config/
sensor:
  - platform: filesize
    file_paths:
    - /config/home-assistant_v2.db

Obtener el tamaño de la base de datos con MariaDB

sensor:
  - platform: sql
    db_url: !secret mariadb_url
    scan_interval: 3600
    queries:
      - name: 'DB size'
        query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1048576, 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
        column: 'value'
        unit_of_measurement: MB

Obtener dirección IP externa

sensor:
  - platform: dnsip
    name: 'External ip'

Detectar conexión a internet

binary_sensor:
  - platform: ping
    name: 'Internet Status'
    host: 8.8.8.8
    scan_interval: 900

Mostrando el panel de Monitor de Sistema

Una vez declarados todos los sensores para obtener los datos, se puede agrupar en una ficha personalizada

entities:
  - entity: sensor.current_version
  - entity: sensor.last_boot
  - entity: sensor.cpu_speed
    name: CPU Speed
  - entity: sensor.processor_use
  - entity: sensor.cpu_temperature
    name: CPU Temperature
  - entity: sensor.memory_use_percent
  - entity: sensor.home_assistant_v2_db
#Para Maria DB  - entity: sensor.db_size
#                 icon: mdi:database
  - entity: binary_sensor.internet_status
  - entity: sensor.external_ip
    name: My external IP
show_header_toggle: false
theme: Backend-selected
title: System Monitor
type: entities