ayuda como conectar el SAI
#1
[Imagen: ihkoOx6.jpg][Imagen: 2hOmZgd.jpg]Hola, buenas tardes a todos.
recientemente acabo de adquirir un SAI para que no me pase como hace unos meses que se me fue La Luz de casa y tuve suerte y no se me fastidio la información que tenia en el NAS, así que me decidí a comprar un SAI el cual tenia en seguimiento.

he adquirido un SAI de la marca APC, el BACK-UPS ES700, mi intención es conectarle el NAS un QNAP 453b mini, el iMac, el switch, impresora, raspberry, hub de Philips y algunos que otro aparato, el equipo consta de 8 tomas, 4 de ellas con protección ante cortes de luz y picos de tension y otras 4 son picos de tension. En las que tienen proteccionismos contra los cortes de luz conectare como no el NAS y el IMac, el resto de equipos sinceramente si va La Luz no pasaría nada, ya que la información importante esta en esto 2 equipos, la duda que tengo es como conectarlos, y si es posible y como se hace para que en caso de que La Luz se valla ellos solos se apaguen automáticamente.

lo pregunto porque el manual que trae son 2 hojas y no explica nada de como hacerlo.

gracias
  Responder
#2
Hola

Para que nas se dé cuenta de que hay un corte de energía, has de tener un cable extra de comunicación por usb hacia la nas.
Antiguamente el cable era tipo serie (de 9 pines).
Para saber que la nas se comunica con la SAI te vas en QTS a dispositivos por usb y verás en la parte inferior una gráfica de carga del sai y alguna información más sobre el modelo.

Para el tema del auto apagado hay que hacerlo en los menús de la SAI indicándole el minuto en el que dará orden de apagado de la NAS. Si la energía vuelve antes de dar esa orden, la orden se aborta y la nas no se apaga.

Para hacerlo con el Mac, tendrás que buscar algún programa (tal vez un monitor de por ethernet por snmp) que sea informado del estado del sai gracias a tramas enviadas por la Qnap. Y es que tienes el cable usb de información ya está ocupado por la Qnap.

También podría ser que es incompatible a nivel de comunicación con la nas y en cambio si sabe comunicarse con tu Mac. Es ese caso ha de ser el Mac el que ha de dar la orden de apagado a la Qnap.

Si no encuentras ningún programa que haga esas funciones, yo probaría a crear algún tipo de script en la Qnap que de orden de apagar al Mac.

Para la gente que tenga Windows están las órdenes “shutdown -s” para apagar y “shutdown -a” apara abortar apagado.

De todas formas habría que ver cómo monitorizar esa información de estado del sai en Qnap. Seguro que hay una forma de ver ese estado y lanzar órdenes a los equipos de la red.


Voy a hacer alguna prueba para ver si puedo decir algo más sobre cómo monitorizar el sai por consola de comandos.
Me edito. Ya he visto como saber si tu QNAP está funcionando con el SAI en baterías o con la línea electrica.
Se puede usar como disparador de orden de apagado el siguiente comando "upsc qnapups@localhost".
al hacerlo te muestra un montón de parámetros. En mi caso los siguientes:
battery.charge: 100
battery.voltage: 13.70
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.name: blazer_usb
driver.parameter.pollinterval: 1
driver.parameter.port: /dev/ttyS1
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.internal: 0.12
input.current.nominal: 3.0
input.frequency: 49.8
input.frequency.nominal: 50
input.voltage: 219.5
input.voltage.fault: 219.1
input.voltage.nominal: 230
output.voltage: 219.1
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 3
ups.productid: 5161
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive
ups.vendorid: 0665

El que nos importa es "ups.status: OL" ya que nos esta diciendo que está "OLine", es decir, funcionando con el suministro eléctrico.
Si fuese "ups.status: OB" nos indica que estamos "OBateries", es decir fucionando con baterías.


Con un "upsc qnapups@localhost | grep ups.status:" obtenemos
ups.status: OL


Así que mediante una sencilla tarea ciclica en crontab podemos saber si estamos con baterías o no en el SAI.
Luego en función de ese estado podemos lanzar ordenes de pagado al resto de equipos de la red.

Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#3
ok, gracias por la información, lo he puesto al final como me has indicado, conectando con el cable usb al NAS y poniéndole el tiempo de apagado, como podría hacer ese script para que el iMac se apague automáticamente? ando muy verde en ese tema?

gracias
  Responder
#4
Hola

Lo único que se me ocurre es hacer un script en Qnap que lance la orden de apagado al iMac. Desgraciadamente no control Mac y no se como hacerlo.

Yo preguntaría en algún foro o buscaría por internet como dar orden de apagado/reset a un iMac desde un Linux en su misma red.
De servidor Windows a equipo Windows yo si se como hacerlo.

Si sacas ese comando me pongo a hacer pruebas del script en Qnap y jugamos con ello [emoji6]

Vamos a ver si alguien del foro nos echa un cable respecto al mundo iMac.


Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#5
Hola 

Se me ocurre el siguiente script llamado sai.sh para poder monitorizar el estado del SAI. 
Este archivo lo creo en /share/MD0_DATA/Scripts   (ojo que MD0_DATA, puede ser otra ruta en vuestro equipo)

Código:
#! /bin/bash
destino="destinatario@gmx.com"
remite="remitente@gmail.com"
ups=$(upsc qnapups@localhost | grep ups.status:)
estado=${ups:12:2}
echo "$ups  $estado"
  if [ "$estado" = "OL" ]; then
        echo "El SAI está con energia electrica"
#compruebo si existe el archivo de flag para saber si ha vuelto la energía
if [ -f flag.txt ]; then
# envío un correoo avisando de que ha vuelto la energía eléctrica
echo "Subject: SAI en carga" > correo.txt
echo "From: $origen" >> correo.txt
echo "To: $destino" >> correo.txt
echo "Ha retornado la energía eléctrica, el SAI se pone en carga" >> correo.txt
cat correo.txt | /usr/sbin/sendmail -t
    rm flag.txt
# aborto ordenes de apagado a otros equipos
fi
  else
echo "El SAI está con baterías"
# envío un correo avisando de que el SAI entra en accion
    echo "Subject: SAI en funcionamiento" > correo.txt
    echo "From: $origen" >> correo.txt
    echo "To: $destino" >> correo.txt
    echo "Hay caida de energía eléctrica, el SAI entra en marcha" >> correo.txt
    cat correo.txt | /usr/sbin/sendmail -t
echo "SAI en marcha" > flag.txt
# lanzo ordenes de apagado a otros equipos
  fi
  #borro el archivo de correo
  if [ -f correo.txt ]; then
rm correo.txt
  fi


Este archivo lo pondremos en el programador de tareas cada 2 minutos por ejemplo. 

Código:
echo -e "*/2 * * * * /share/MD0_DATA/Scripts/sai.sh">> /mnt/HDA_ROOT/.config/crontab
crontab  /etc/config/crontab

El funcionamiento es el siguiente:


-Compruebo estado del SAI. Si está en bateria envía un correo y crea el archivo flag.txt
-Compruebo estado del SAI. Si está con corriente no hace nada siempre no exista el archivo flag
-Compruebo estado del SAI. Si está con corriente y si existe el archivo flag, envía un correo avisando de  la vuelta de la energía y borra flag.txt

Para dar ordenes desde equipos Windows a linux se puede usar "plink", que viene con putty
Para hacerlo a la inversa se me ocurre apoyarme en "cygwin" que nos permite tener línea de comandos linux en Windows.

Tengo que dar un par de vuelta a esto último. Cuando lo tenga lo escribo por aquí.
Tal vez de aquí podamos sacar algo http://2tazasdelinux.blogspot.com/2018/0...forma.html
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#6
Grande gáneko. Siento responder tan tarde pero no se xk siempre me van las respuestas a spam por más que le indico que los mensajes de este foro no lo son.

Ese script sería para Windows por lo que entiendo verdad?

Sobre el
Comando no se si te referirás a esto. 

https://www.google.es/amp/s/otroespaciob...andos/amp/
  Responder
#7
Hola

El script ese ha de estar en la Qnap.
Lo que hace es enviarte un correo en función del estado o cambio de estado del sai.

Pero podemos agregar líneas para que de órdenes de apagado a otros equipos.

La dificultad añadida es que no se puede dar alegremente una orden de apagado de un equipo hacia otro (imagina el daño que podría hacerse simplemente si alguien accede a tu red y lanza apagados a todos ).

Veo que se parece a Linux, así que supongo se podrá acceder por ssh. Si es como en Linux habrá que hacer una configuración previa.

Por cierto, acabo de hacer unas pruebas y también es posible saber el estado del sai desde otras NAS de QNAP en la misma red (previa configuración desde entorno gráfico QTS)
Si usamos el comando “upsc qnapups@ip_equipo_con_sai_conectado | grep ups.status: “ podemos ver estado de forma remota.

Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#8
Hola

He hecho alguna mejora en los scripts. Uno para la Qnap principal con SAI por USB y otro para el Qnap secundario que es informado del estado del SAI por ethernet.

Aquí está el que se ejecuta en la Qnap que NO tienen fisicamente conexión con el SAI. La que tiene conexión con el SAI por usb tiene una ip 192.168.10.69.

El archivo lo he llamado sai.sh y lo dejo en la carpeta /share/CACHEDEV1_DATA/Scripts. Yo lo he dejado programado para que se ejecute cada 5 minutos.

El archivo puede generar los archivos temporales que le sirven para saber para saber el estado previo y que sólo te haga un aviso por correo cada vez que se cambia el estado del SAI y no cada 5 minutos.

Código:
#! /bin/bash
destino="destinatario@gmx.com"
remite="remitente@gmail.com"
ups=$(upsc qnapups@192.168.10.69 | grep ups.status:)
estado=${ups:12:2}
echo "$ups  $estado"
 if [ "$estado" = "OL" ]; then
       echo "EL SAI está con energia electrica en la NAS con SAI"
        #compruebo si existe el archivo de flag para saber si ha vuelto la energía
        
        if [ -f flag1.txt ]; then
         # si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
         rm flag1.txt
        elif [ -f flag.txt ]; then
            # envío un correo avisando de que ha vuelto la energía eléctrica
            echo "Subject: SAI en carga en NAS principal" > correo.txt
            echo "From: $origen" >> correo.txt
            echo "To: $destino" >> correo.txt
            echo "Ha retornado la energia electrica, el SAI se pone en carga" >> correo.txt
            cat correo.txt | /usr/sbin/sendmail -t
            rm flag.txt
            # aborto ordenes de apagado a otros equipos
        fi

 elif [ "$estado" = "OB" ]; then
       
        if [ -f flag1.txt ]; then
         # si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
         rm flag1.txt
        fi
        echo "El SAI está con baterías en NAS principal"
        # envío un correo avisando de que el SAI entra en accion
        echo "Subject: SAI en funcionamiento en NAS principal" > correo.txt
        echo "From: $origen" >> correo.txt
        echo "To: $destino" >> correo.txt
        echo "Hay caida de energía eléctrica, el SAI entra en marcha" >> correo.txt
        cat correo.txt | /usr/sbin/sendmail -t
        echo "SAI en marcha" > flag.txt
        # lanzo ordenes de apagado a otros equipos
        
        
 else
        echo "No contacto con el SAI"
        if [  ! -f flag1.txt ]; then
            # si NO existe el archivo flag1.txt de no comunicacion con el SAI, lo creo y envío correo
            echo "Subject: No encuentro SAI" > correo.txt
            echo "From: $origen" >> correo.txt
            echo "To: $destino" >> correo.txt
            echo "No comunico con el SAI de la NAS principal, puede estar apagada la NAS" >> correo.txt
            cat correo.txt | /usr/sbin/sendmail -t
            #creo archivo flag1 para que solo se avise una vez por correo
            echo "SAI sin contacto" > flag1.txt
        fi
 fi
 #borro el archivo de correo
 if [ -f correo.txt ]; then
        rm correo.txt
 fi

El script en la Qnap que tiene el SAI conectado por USB es básicamente el mismo con algún cambio de mensaje.
También se llama sai.sh y está ubicado en /share/CACHEDEV1_DATA/Scripts y se ejecuta cada 5 minutos

Código:
#! /bin/bash
destino="destinatario@gmx.com"
remite="remitente@gmail.com"
ups=$(upsc qnapups@localhost | grep ups.status:)
estado=${ups:12:2}
echo "$ups  $estado"
 if [ "$estado" = "OL" ]; then
       echo "EL SAI está con energia electrica en la NAS con SAI"
        #compruebo si existe el archivo de flag para saber si ha vuelto la energía
        
        if [ -f flag1.txt ]; then
         # si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
         rm flag1.txt
        elif [ -f flag.txt ]; then
            # envío un correo avisando de que ha vuelto la energía eléctrica
            echo "Subject: SAI en carga" > correo.txt
            echo "From: $origen" >> correo.txt
            echo "To: $destino" >> correo.txt
            echo "Ha retornado la energia electrica, el SAI se pone en carga" >> correo.txt
            cat correo.txt | /usr/sbin/sendmail -t
            rm flag.txt
            # aborto ordenes de apagado a otros equipos
        fi

 elif [ "$estado" = "OB" ]; then
       
        if [ -f flag1.txt ]; then
         # si existe el archivo flag1.txt de no comunicacion con el SAI, lo borro
         rm flag1.txt
        fi
        echo "El SAI está con baterías"
        # envío un correo avisando de que el SAI entra en accion
        echo "Subject: SAI en funcionamiento en NAS principal" > correo.txt
        echo "From: $origen" >> correo.txt
        echo "To: $destino" >> correo.txt
        echo "Hay caida de energía eléctrica, el SAI entra en marcha" >> correo.txt
        cat correo.txt | /usr/sbin/sendmail -t
        echo "SAI en marcha" > flag.txt
        # lanzo ordenes de apagado a otros equipos
        
        
 else
        echo "No contacto con el SAI"
        if [  ! -f flag1.txt ]; then
            # si NO existe el archivo flag1.txt de no comunicacion con el SAI, lo creo y envío correo
            echo "Subject: No encuentro SAI" > correo.txt
            echo "From: $origen" >> correo.txt
            echo "To: $destino" >> correo.txt
            echo "No comunico con el SAI, puede estar desconectador el cable USB" >> correo.txt
            cat correo.txt | /usr/sbin/sendmail -t
            #creo archivo flag1 para que solo se avise una vez por correo
            echo "SAI sin contacto" > flag1.txt
        fi
 fi
 #borro el archivo de correo
 if [ -f correo.txt ]; then
        rm correo.txt
 fi
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#9
Buenas Ganekogorta. Con esos script lo que conseguiría sería informarme por email si el QNAP en el momento que estaría funcionando por las baterías y en que momento vuelve a funcionar por la red general verdad?
  Responder
#10
Efectivamente, sólo queda añadir órdenes de apagado o anulación remotas.

En caso de no poder lanzar comandos a los pc o mac estoy pensando en apoyarme en la creación/existencia de archivos en esos equipos vía samba. Y en esos equipos hacer una comprobación para apagar de forma local si existe ese archivo (creado por la nas)


Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder




Usuarios navegando en este tema: 1 invitado(s)