Supervisando un servidor Home Assistant
Según va creciendo nuestra casa inteligente en número de dispositivos y complejidad, pero también en utilidad, debemos proteger el servidor Home Assistant con el fin de evitar problemas futuros o al menos detectarlos a tiempo.
Home Assistant ofrece varios componentes de supervisión de sistemas. Para este artículo, vamos a utilizar los componentes System Monitor y Speedtest.net para obtener valores del sistema y datos de la red respectivamente.
Configurando los componentes
De igual modo que en otras ocasiones, vamos a editar el archivo configuration.yaml
para incluir los componentes systemmonitor
y speedtestdotnet
. Abre el archivo e incluye las siguientes líneas de código:
speedtestdotnet:
scan_interval:
minutes: 30
monitored_conditions:
- ping
- download
- upload
sensor:
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /
- type: memory_use_percent
- type: processor_use
- type: last_boot
En el caso de tener el nodo sensor con alguna otra plataforma (por ejemplo miflora
), simplemente agrega systemmonitor
a la lista:
...
sensor:
- platform: systemmonitor
...
- platform: miflora
...
...
Los componentes systemmonitor
y speedtestdotnet
tienen otros parámetros muy interesantes, pero por el momento, voy a poner los que considero más interesantes o son obligatorios para que funcione la configuración. Revisa la documentación de cada uno para descubrir todas las opciones disponibles.
El componente
speedtestdotnet
consume un gran ancho de CPU (que se podrá analizar desde el componentesystemmonitor
), si notas cortes o problemas de rendimiento, aumenta el parámetroscan_interval
para realizar el análisis de red cada varias horas.
Reinicia el servidor desde la configuración.
Interfaz
Para mostrar los datos en el Dashboard de Lovelace, vamos a utilizar dos tarjetas especiales. Estas tarjetas no pueden configurarse de modo visual, así que editaremos su código.
Para speedtestdotnet
añade una tarjeta de tipo History-Graph:
entities:
- sensor.speedtest_download
- sensor.speedtest_ping
- sensor.speedtest_upload
type: history-graph
Para el sensor systemmonitor
, crea una tarjeta de tipo Vertical-Stack:
cards:
- cards:
- type: gauge
entity: sensor.processor_use
- type: gauge
entity: sensor.disk_use_percent
- type: gauge
entity: sensor.memory_use_percent
type: horizontal-stack
- entities:
- sensor.last_boot
type: entities
type: vertical-stack
Conclusión
Con esta información, y con otra que pueda interesarte (mirar documentación de los componentes), podrás supervisar tu servidor y predecir problemas futuros antes de que ocurran de una manera sencilla y visual.
Por ejemplo, ver si el espacio disponible en el servidor está acabándose, o si el operador de Internet está ofreciendo menos velocidad de la contratada.
Este y otros artículos complementan la documentación del repositorio de GitHub donde se encuentra disponible toda la configuración de mi casa.