Integrar RPI-Monitor en Home Assistant

Hoy integraremos de una forma muy facil los datos que nos proporciona cada uno de los RPI-Monitor de nuestro ecosistema.

Para ello usaremos esta Card

La podemos instalas de forma manual o de una forma mas cómoda desde HACS «explorar o descargar repositorios» , buscaremos por rpi y añadiremos el repositorio.

Una vez descargado ya aparecerá en nuestra lista de tarjetas de Lovelace

En configuration.yaml añadiremos

    - url: /hacsfiles/lovelace-rpi-monitor-card/rpi-monitor-card.js
      type: module  

Previamente tendremos que tener RPI-Monitor instalado en nuestra Raspberry Pi y cada Raspberry Pi tendremos que instalar RPi-Reporter-MQTT2HA-Daemon

Instalaremos los requisitos previos con

sudo apt-get install git python3 python3-pip python3-tzlocal python3-sdnotify python3-colorama python3-unidecode python3-paho-mqtt 
sudo git clone https://github.com/ironsheep/RPi-Reporter-MQTT2HA-Daemon.git /opt/RPi-Reporter-MQTT2HA-Daemon

cd /opt/RPi-Reporter-MQTT2HA-Daemon
sudo pip3 install -r requirements.txt
sudo cp /opt/RPi-Reporter-MQTT2HA-Daemon/config.{ini.dist,ini}
sudo nano /opt/RPi-Reporter-MQTT2HA-Daemon/config.ini

Configuraremos el demonio según nuestras preferencias

[MQTT]

# The hostname or IP address of the MQTT broker to connect to (Default: localhost)
# Also read from the MQTT_HOSTNAME environment variable
hostname = 192.168.1.145

# The TCP port the MQTT broker is listening on (Default: 1883)
# Also read from the MQTT_PORT environment variable
port = 1883

# Maximum period in seconds between ping messages to the broker. (Default: 60)
#keepalive = 60

# by default Home Assistant listens to the /homeassistant but it can be changed for a given instal$
#  likewise, by default this script advertises on the same default topic. If you use a different
#  discovery prefix then specify yours here.  [default: homeassistant]
discovery_prefix = homeassistant

# NOTE: The MQTT topic used for this device is constructed as:
#  {base_topic}/{sensor_name}
#
# The MQTT base topic under which to publish the Raspberry Pi sensor data topics.
#base_topic = home/nodes

# The MQTT name for this Raspberry Pi as a sensor
sensor_name =  rpi-Pi2W1

# The MQTT broker authentification credentials (Default: no authentication)
# Will also read from MQTT_USERNAME and MQTT_PASSWORD environment variables
username = antonio
password = ***************

# Enable TLS/SSL on the connection
tls = false

# Path to CA Certificate file to verify host
#tls_ca_cert =

# Path to TLS client auth key file
#tls_keyfile =

# Path to TLS client auth certificate file
#tls_certfile =

Podremos probar que todo sea correcto con :

python3 /opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py

Si todo es correcto deberia aparecer algo similar a esto

Tendremos que dar permisos al demonio para poder acceder a las temperaturas

# list current groups
groups daemon
$ daemon : daemon

# add video if not present
sudo usermod daemon -a -G video

# list current groups
groups daemon
$ daemon : daemon video
#                 ^^^^^ now it is present

Lo haremos correr como un servicio

sudo ln -s /opt/RPi-Reporter-MQTT2HA-Daemon/isp-rpi-reporter.service /etc/systemd/system/isp-rpi-reporter.service

sudo systemctl daemon-reload

# tell system that it can start our script at system startup during boot
sudo systemctl enable isp-rpi-reporter.service

# start the script running
sudo systemctl start isp-rpi-reporter.service

# check to make sure all is ok with the start up
sudo systemctl status isp-rpi-reporter.service

Si queremos actualizar a la ultima versión :

# go to local repo
cd /opt/RPi-Reporter-MQTT2HA-Daemon

# stop the service
sudo systemctl stop isp-rpi-reporter.service

# get the latest version
sudo git pull

# reload the systemd configuration (in case it changed)
sudo systemctl daemon-reload

# restart the service with your new version
sudo systemctl start isp-rpi-reporter.service

# if you want, check status of the running script
systemctl status isp-rpi-reporter.service

Reiniciaremos nuestra Raspberry Pi y crearemos nuestras tarjetas en lovelace

      - type: 'custom:rpi-monitor-card'
        entity: sensor.rpi_monitor_pi2w1
        card_style: glance
        temp_scale: C
        fs_severity:
          - color: Green
            from: 0
            to: 25
          - color: Orange
            from: 26
            to: 55
          - color: Red
            from: 56
            to: 100    

      - type: 'custom:rpi-monitor-card'
        entity: sensor.rpi_monitor_piia
        card_style: glance
        temp_scale: C
        fs_severity:
          - color: Green
            from: 0
            to: 25
          - color: Orange
            from: 26
            to: 55
          - color: Red
            from: 56
            to: 100   

Y así debería aparecernos en nuestro Home Assistant

Y con esto y un bizcocho ….

Instalar RPi Monitor en nuestra Raspberry

Una de las utilidades que siempre instalo en mis Raspberry es RPI Monitor ya que me permite ver el comportamiento de la placa durante el tiempo y así evitar problemas de temperatura o de memoria entre otros , el proceso es sumamente sencillo

Ejecutaremos los siguientes comandos

sudo apt-get install apt-transport-https ca-certificates
sudo wget https://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo apt update
sudo apt install rpimonitor

Podremos acceder a la pagina web de la aplicación en este caso desde la url http://192.168.1.113:8888

Cambiar el puerto

Buscaremos en /etc/rpimonitor/daemon.conf una linea comentada que pone #daemon.port=8888 , la descomentaremos y cambiaríamos el numero de puerto

Monitorizar la conexión wifi

Buscaremos en /etc/rpimonitor/data.conf una linea comentada que pone #include=/etc/rpimonitor/template/wlan.conf , la descomentaremos y la dejaremos como include=/etc/rpimonitor/template/wlan.conf

Monitorizar unidades USB

Buscaremos en /etc/rpimonitor/data.conf una linea comentada que pone #include=/etc/rpimonitor/template/storage.conf , la descomentaremos y la dejaremos como include=/etc/rpimonitor/template/storage.conf

Monitorizar otros servicios

Buscaremos en /etc/rpimonitor/data.conf una linea comentada que pone #include=/etc/rpimonitor/template/services.conf , la descomentaremos y la dejaremos como include=/etc/rpimonitor/template/services.conf

Controlar RPI Monitor

Para controlar el funcionamiento de RPi Monitor existen las siguientes órdenes,

Iniciar : sudo systemctl start rpimonitor
Parar : sudo systemctl stop rpimonitor
Reiniciar : sudo systemctl restart rpimonitor
Conocer el estado : systemctl status rpimonitor


Cada vez que se cambie algún archivo de la configuración de Rpi Monitor es necesario reiniciar el servicio utilizando la orden sudo systemctl restart rpimonitor

Aqui podemos ver el aspecto al acceder al puerto 8888 de la Raspberry Pi

Solución a los problemas mas comunes

La primera vez que accedas verás un pequeño mensaje de error en la parte superior izquierda, en el apartado Package(s) del bloque Version, pero es muy fácil de arreglar.

Para solucionarlo tienes que ejecutar la siguiente orden:

sudo /etc/init.d/rpimonitor update

Consultar datos históricos

Podemos ver el histórico de carga de CPU

Podemos ver el histórico de temperatura

Podemos ver el histórico de carga de CPU de uso de memoria

Podemos ver el histórico de uso de red

Y la pantalla principal nos dará muchísima información de una forma tremendamente clara

Y con esto y un bizcocho ………….