En los artículos anteriores he explicado cómo monitorizar un SAI usando NUT y cómo instalar Home Assistant usando Docker.

En este pequeño artículo explicaré cómo se ha configurado la integración de NUT en Home Assistant que ha sido descubierto de forma automática.

  • Acceder a la instancia de Home Assistant
  • En la barra lateral hacer clic en Settings
  • En el menú de configuración seleccionar Devices and Services
  • En el menú superior seleccionar Integrations
  • Seleccionar la integración Network UPS Tools (NUT)

Esta integración dispone, en mi caso, de 1 dispositivo y 18 entidades. Al hacer clic en el dispositivo se observa, obviamente, el MGE Protection Center 750 que se configuró anteriormente.

Las entidades disponibles están divididas en sensores y diagnósticos y, en este caso, se han habilitado las mostradas en la siguiente imagen:

Sensores y Diagnósticos

  • Sensores
    • Batería cargada (porcentaje)
    • Carga (porcentaje)
    • Tensión de salida (Volts)
    • Estado (Online, Offline)
  • Diagnóstico
    • Duración de batería (segundos)

Además, se ha creado una tarjeta de tipo entidades que se ha agregado a un tablero (dashboard) llamado Casa:

Tarjeta SAI

Debido a que el nombre en clave del desarrollo de los tableros era lovelace, aún se pueden encontrar referencias a este nombre en tutoriales y vídeos.

Mejoras

Como la duración de la batería se expresa en segundos, se puede crear un nuevo sensor usando plantillas para convertirlo a minutos.

En el fichero de configuración de Home Assistant (/config/configuration.yaml) se añade una línea para incluir un fichero con los sensores:

sensor: !include sensors.yaml

A continuación se crea el fichero /config/sensors.yaml con el siguiente contenido:


- platform: template
  sensors:
    mge750_battery_runtime_min:
      friendly_name: Battery Runtime
      unit_of_measurement: 'min'
      value_template: >-
        {{ states("sensor.mge750_battery_runtime") | int // 60 }}
      icon_template: mdi:timer-outline

Esta plantilla crea un sensor llamado mge750_battery_runtime_min, medido en minutos, que está basado en el sensor original mge750_battery_runtime, medido en segundos.

Este sensor tiene como valor el resultado de dividir el valor del sensor original por 60 convertido en un número entero usando Jinja.

Se puede hacer lo mismo para aproximar el consumo de energía usando el porcentaje de carga y la capacidad nominal del SAI (en este caso 750 W):


- platform: template
  sensors:
    mge750_approx_power:
      friendly_name: Approximate Power
      unit_of_measurement: 'W'
      value_template: >-
        {{ states("sensor.mge750_load") | int / 100 * 750 | round(1, "floor") }}
      device_class: power

Después de comprobar que la sintaxis es correcta, se puede reiniciar Home Assistant:

  • Developer Tools > YAML > Check Configuration
  • Developer Tools > YAML > Restart

y añadir las nuevas entidades al tablero para que quede algo así:

Custom Sensors

Referencias