Hace tiempo publiqué un tutoría que explicaba como monitorizar el estado de un SAI – UPS a través de una Raspberry Pi , de manera que cada vez que hubiera un corte de suministro la Raspberry nos enviará un mensaje de aviso a través de Telegram.
Llevo años usando este sistema en mi casa para saber si hay un corte de corriente, y cuanto tarda en reestablecerse, pero en ocasiones he echado en falta acabar de configurar el sistema para por ejemplo conocer la salud del SAI sin necesidad de acceder a la consola… así que aprovechando el fin de semana he decidido ponerme con ello y automatizar dos procedimientos:
- Monitorización del estado del SAI (100% carga de la batería, voltaje, capacidad, temperatura) a través de un navegador web.
- Monitorización del estado del SAI a través de Telegram, enviando un mensaje desde mi móvil a la Raspberry para que esta me conteste informando el estado del SAI.
En este post voy a explicar la primera opción, como consultar los principales valores del SAI a través del navegador de cualquier ordenador de nuestra red.
Pasos a seguir:
Partiendo de la base de que ya hemos configurado nuestra Raspberry como monitor de SAI (si no lo hemos hecho tendremos que hacerlo, ver tutorial).
Desde la consola/terminal de nuestra Raspberry introduciremos los siguientes comandos, dirigidos a asegurarnos de que tiene la última versión de software.
sudo apt-get update
sudo apt-get upgrade
Instalamos el servidor web apache , las librerías necesarias para que pueda ejecutar .cgi y el programa que va a permitirnos acceder a los datos del SAI a través del navegador.
sudo apt-get install apache2 -y
sudo a2enmod cgi
sudo apt-get install apcupsd-cgi
Y editamos el fichero en el que se guardan los datos de las Raspberry a monitorear
sudo nano /etc/apcupsd/hosts.conf
a continuación entraremos en el fichero de configuración de Apache
sudo nano /etc/apache2/apache2.conf
Buscaremos el siguiente apartado
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
Y lo dejaremos así (marco los cambios en negrita)
<Directory />
#Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Iremos al final del fichero de configuración y añadiremos lo siguiente:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
y saldremos guardando los cambios pulsando CTRL + X.
Para que los cambios surtan efecto reiniciaremos el servidor web Apache
sudo service apache2 restart
A partir de ese momento podremos ver el estado del SAI con tan solo introducir la siguiente dirección web en nuestro navegador:
http://ipdenuestraraspberry/cgi-bin/apcupsd/multimon.cgi
Abriéndose una página muy similar a la siguiente:
Haciendo clic sobre el campo System, que en mi ejemplo se informa como Local Host , accederemos a una pantalla más completa desde donde podremos acceder a información más detallada
Si habéis seguido las instrucciones, y antes habéis configurado vuestra Raspberry como monitor de SAI, como se explica en una publicación anterior, os va a funcionar sin mayor problema. De todos modos, si necesitáis ayuda no dudéis en contactarme.
Para los usuarios más avanzados a continuación explicaré los pasos a seguir para poder monitorizar más de un SAI (conectado a Raspberry a la vez).
Para ello hay que cambiar la configuración de apcupsd en dos ficheros:
En /etc/apcupsd/apcupsd.conf hay que modificar los valores por los siguientes:
NETSERVER on (para aceptar llamadas entrantes desde otros equipos)
NISIP 0.0.0.0 (para especificar que direcciones IP aceptaremos)
En /etc/apcupsd/apcupsd.conf informaremos la lista de equipos a monitorizar, ver ejemplo
Para que los cambios surtan efecto tendremos que reiniciar el servicio con
sudo service apcupsd restart
Siguiendo el ejemplo anterior, si vamos a la dirección
http://ipdenuestraraspberry/cgi-bin/apcupsd/multimon.cgi
en este caso veremos tantos SAI como hayamos configurado

Web mostrando varios equipos
Salu2
Santi