Controlar SAI incompatible con QNAP mediante una Raspberry Pi Zero 2W y NUT

Hace poco instale un SAI de mas capacidad y ohhhhhhh sorpresa no era compatible con QNAP ( que me tienen hasta los webs ) , después de barajar diferentes alternativas decidí usar una Raspberry Pi Zero 2W que tenia libre.

El conexionado es sencillo, por un lado la alimentación y por el otro un cable µUSB OTG al cable USB del SAI

Lo primero será instalar NUT en la Pi

 Nos creara en el directorio /etc/nut/ una serie de ficheros donde configuraremos NUT

El primero que configuraremos será el archivo nut.conf

En el archivo ups.conf crearemos la configuración de nuestro SAI , es importante que el driver sea el correcto , podemos encontrar mas información aquí

En el archivo upsd.conf configuraremos todo lo relacionado con el NUT Server

En el archivo upsd.users configuraremos todo lo relacionado con usuarios y roles

En el archivo upsmon.conf configuraremos todo lo relacionado con la monitorización y el apagado del SAI si es necesario

Iniciaremos NUT y comprobamos su estado al arrancar

SI nos da un error de conexión entonces reiniciaremos todo los servicios relacionados

Tendremos que ver como con sudo systemctl status nut-driver el servicio esta activo y sin errores

Con el comando upsc veremos la información del SAI al que nos hemos conectado

Esta seria una salida típica a la llamada del comando upsc

Se puede utilizar el comando upslog para realizar una monitorización contínua del SAI de la siguiente manera:

Ahora pasaremos a montar nut-cgi para poder verlo en el navegador

Instalaremos apache y nut-cgi

Editaremos el fichero upsset.conf y descomentaremos la linea que pone I_HAVE_SECURED_MY_CGI_DIRECTORY

Quedaria asi :

Habilitaremos el modulo cgi

Editaremos el fichero hosts.conf y añadiremos la siguiente linea

Reiniciaremos apache con el comando

Ahora podremos llamar al CGI mediante el siguiente enlace http://192.168.1.113/cgi-bin/nut/upsstats.cgi

Si todo es correcto deberíamos ver lo siguiente

Y si pulsamos el enlace que aparece en el nombre del SAI aparecerá algo similar a esto

Y si pulsamos el enlace que aparece en All data nos aparecerá un resumen de los datos del SAI

Podemos hacer la prueba de quitar la alimentación al SAI para ver como pasa de modo OL “en linea” a modo OB “en bateria”

Y veremos que progresivamente en nivel de carga va bajando

Y el estado cambia tambien …

Para asegurarnos que arranca el servicio editaremos /etc/rc.local y añadiremos esto antes de la linea en la que pone “exit 0”

Si vamos al panel de control del NAS lo configuraremos como SAI esclavo en red

Pero ohhhhhhhhhhhhhh sorpresa , no hace na de naaaaaaaaaaaaaaaaaaaaa

En QNAP como no la configuración no esta en etc/nut , ellos son mas chulos que un ocho y la ponen en /etc/config/ups

Editaremos el fichero upsmon.conf

Y ohhhhhhhhhh sorpresa cuando en el panel de control cambiamos la IP del servidor NUT la cambia , pero pone a piñón el usuario y la contraseña , por sus web tiene que ser admin y 123456 respectivamente y para mas inri el nombre del sai tiene que ser qnapups

En el archivo upsmon.conf reconfiguraremos con el nuevo nombre , usuario y contraseña

En el archivo hosts.conf reconfiguraremos con el nuevo nombre

En el archivo ups.conf reconfiguraremos con el nuevo nombre

En el archivo upsd.conf añadiremos las dos líneas inferiores

En el archivo upsd.users cambiaremos la contraseña del usuario admin

En el archivo upsmon.conf cambiaremos a la nueva configuración

Reiniciaremos los servicios de nuevo para que coja los valores de la nueva configuración

Comprobamos que arranca bien el servicio nut-monitor y que no hay errores

Al reiniciar el nut-driver veremos que se manda un mensaje broadcast de perdida de comunicación y otro al reestablecer la comunicacion

Ahora por fin , ya se ve en la seccion de UPS del panel de control del QNAP

Si quitamos la alimentación veremos como detecta el cambio , y si pasase en ese estado el tiempo que le programemos entraria en modo “autoproteccion”

También veremos los eventos de perdida y recuperación de la alimentación del SAI

Al final todo el conjunto ocupa nada y menos y cabe en la caja de la pi , quedaria así

Con un disipador interno no se calienta prácticamente si esta solo dedicada a esta dedicado a hacer de servidor NUT

Y con esto y un bizcocho ………