Cómo integrar tu NAS y SAI en tu red domótica con el Home Center 2 de Fibaro
- Pequeño tutorial para poder integrar los datos de un NAS y SAI en tu red domótica a través del centro de control Home Center 2 de Fibaro.
Hace unos meses decidí introducirme en el mundo de la domótica. Aunque por formación debería ser algo próximo, profesionalmente mis derroteros siempre fueron por otros lares. Necesitaba volver a sentirme aquel niño ingeniero de cuando tenía 7 años, olvidarme en mi tiempo libre por un momento de mis quehaceres diarios profesionales (nada relacionados con la tecnología, la automática y la electrónica) y adentrarme nuevamente en los entresijos de aquello que siempre me llamó la atención desde niño.
Con esa ferrea determinación, y con las dudas propias de un principiante, decidí adentrarme en el mundo de la domótica de la mano del protocolo Z-Wave, y confié mi alma al controlador Home Center 2 de Fibaro. No os aburriré con mis peripecias para ir domotizando mi casa y mis innumerables muros insalvables. Gracias a esta web y otras, fundamentalmente del panorama francés (sí, aunque parezca mentira el francés me ha servido para algo), he conseguido ir solucionando todos los problemas.
Sin embargo, había uno que me traía de cabeza: integrar en la red domótica mi NAS de la marca Synology y sobre todo el SAI al que está conectado mi HC2. Todo ha sido posible gracias al propio NAS y a la flexibilidad del controlador de Fibaro. Trataré de explicaros brevemente la forma de conseguirlo. Un SAI es muy interesante para proteger nuestra instalación domótica como os contamos hace unos días en este artículo sobre el NAS de SAICU.
Configurando el NAS
Lo primero que debes saber es si tu SAI es compatible con tu NAS. No suele ser complicado comprar uno compatible, ya que las marcas proporcionan a los clientes listados de compatibilidad. En mi caso dispongo de un NAS Synology DS213J y un SAI de la marca APC, en concreto el modelo Backup UPS-800.
Una vez conectados ambos mediante un cable USB, debemos activar el reconocimiento del SAI en el panel de control del NAS. Para ello iremos al Panel de Control y seleccionaremos el menú Alimentación. Únicamente será necesario marcar el ítem Habilitar compatibilidad con SAI. Si el reconocimiento es correcto, el botón información del dispositivo nos mostrará el estado actual del SAI.
A continuación procederemos a habilitar el protocolo de comunicación que nos permitirá acceder a los datos. Concretamente he empleado el protocolo SNMP, del inglés Simple Network Management Protocol, o lo que es lo mismo Protocolo Simple de Administración de Red. Se trata un protocolo que facilita el intercambio de información de administración entre dispositivos de red. Los dispositivos que normalmente soportan SNMP incluyen routers, servidores, impresoras, etc.
En el NAS de Synology es tan simple como ir al Panel de Control y seleccionar SNMP, manteniendo una configuración mínima tal como vamos a ver en la siguiente imagen. De esta forma ya estamos en disposición de interrogar al NAS mediante dicho protocolo y que nos traslade todos los parámetros que necesitemos y que veremos más adelante.
Qué datos podemos obtener de un SAI o de un NAS
Eso va a depender de aquellos que ponga a vuestra disposición el NAS vía el protocolo SNMP. En el caso de Synology, y gracias a San Google, pude obtener una guía en el idioma de Shakespeare con los datos que puede servir el NAS. Podemos acceder a esta guía pulsando sobre este enlace. Aunque debo advertiros de que no es fiable al 100%, al menos me ha servido para ir probando e indagando sobre qué datos me proporciona mi conjunto de hardware y cuales no, a pesar de que la documentación diga lo contrario.
En nuestro caso, los datos que hemos estimado oportunos obtener son:
- Del NAS: Temperatura, estado del ventilador de la caja, estado del ventilador de la CPU, estado de los discos duros y temperatura de los discos duros.
- Del SAI: Nivel de carga de la batería y solicitación a la que está sometido.
Me hubiera gustado obtener al menos el tiempo útil de batería del SAI, sin embargo, por una razón que desconozco, los valores que aporta el NAS vía el protocolo SNMP difieren de los que reporta desde el Panel de Control. Es evidente que uno de los dos no es válido, pero a fecha de hoy no he cronometrado el tiempo y por tanto no se cual de ambos es el correcto. Por este motivo, he obviado este dato.
Cómo podemos obtener los datos y enviarlos al Home Center 2
Justo en estos momentos es cuando haremos uso de un breve script escrito en bash. Seguro que a estas alturas a ninguno de vosotros se os escapa que el NAS funciona con un sistema Linux embebido. Me vais a permitir un salida de tono linuxera, pero creo que el simple hecho de que muchos de nuestros dispositivos electrónicos lo integren y no lo sepamos merece un minuto de gloria. Sí, no puedo negarlo, soy un fan incondicional de este SO desde sus inicios y en mi casa hace muchísimos años que no entra otro sistema. Aunque eso es harina de otro costal, os animo a dar el salto, os puedo asegurar que vuestros hijos no tendrán problema alguno.
Volviendo a lo que nos ocupa, dicho script únicamente hace uso de las herramientas que provee linux para almacenar la información que obtenemos del NAS en el HC2. No entraremos en tecnicismos aburridos, simplemente indicaros que deberéis personalizar este script con vuestro nombre de usuario y contraseña de administrador en el HC2, así como su dirección IP. Deberéis almacenar ese script en una carpeta de vuestro NAS, en mi caso lo hice en /public/scripts. Este script que hemos realizado lo puedes descargar en forma de archivo en este enlace, para que sea mucho más fácil, donde sólo tendrás que descomprimirlo para obtener el archivo monitorHC2.sh.
Para terminar con el NAS, únicamente queda ejecutarlo cada cierto tiempo para que actualice las variables en el HC2, en mi caso cada minuto. Aquí tenemos dos opciones:
- La fácil: Programar la ejecución del script desde el propio Panel de Control del NAS. Únicamente advertiros de la limitación de la cadencia con este método. Synology no permite periodos inferiores a 1 hora.
- La mejor: Para aquellos que conocen linux saben que programar una ejecución de una tarea es pan comido con cron. Basta con incluir la ejecución del script en el fichero crontab y reiniciar el demonio crond. El fichero crontab del sistema embebido de Synology tiene una particularidad, y es que la separación entre cada columna debe ser un tabulador estricto. Si no es así, el NAS eliminará dicha línea en el próximo arranque. Ojo con esto, porque a mí me ha vuelto loco.
Preparando el Home Center 2 de Fibaro
Y ya llegamos al último paso de este pequeño tutorial para integrar el NAS y SAI en tu red domótica y todos sus datos en nuestro Home Center 2 de Fibaro, y ya sólo nos queda almacenar la información en el HC2, para lo que necesitaremos crear una serie de variables globales. En este caso las variables que debemos crear son:
- CargaBateriaUPS
- SolicitacionUPS
- StatusHDD1
- StatusHDD2
- TempHDD1
- TempHDD2
- TemperaturaNAS
- VentiladorCPU
- VentiladorNAS
A continuación, importáis el módulo virtual que hace uso de las mismas. Se trata de un módulo escrito en LUA que se actualiza cada 60 segundos. Si en el apartado anterior habéis seguido la opción fácil no tiene sentido que se actualice cada 60 segundos, ya que el script del NAS lo hará como mínimo cada 60 minutos. Esto es adaptable a vuestras necesidades.
Para importar este módulo escrito en LUA, sólo tenemos que bajarnos este archivo comprimido, descomprimirlo y añadirlo a nuestro Home Center. Para añadirlo nos vamos a dispositivos, añadir uno nuevo y en la parte inferior tenemos la opción de buscar un archivo a añadir un nuevo dispositivo virtual. Ahí seleccionamos el archivo que acabamos de descargar y ya lo tendremos, como acabamos de ver en la imagen anterior.
Si no os habéis perdido, en cuyo caso será culpa mía por no explicarme bien, deberías obtener algo como lo que acabamos de ver en la anterior imagen, el NAS como dispositivo virtual y todos los parámetros que acabamos de configurar como información instantánea en nuestro Home Center 2 de Fibaro. Si tenéis cualquier tipo de duda, podéis hacérnosla llegar en los comentarios de este artículo e intentaremos resolverla lo antes posible.
Muy interesante Antonio, pero sólo funcionara en HC2, ya que veo que es necesario utilizar LUA y en mi HCL no es posible correr este lenguaje.
¿Es así , no?
Gracias
Prueba a ver si funciona, es importando un dispositivo Virtual, así que igual funciona en los HCL.
Hola Javier, me alegro de que te gustase. Efectivamente, para dar visibilidad a las variables que importas es preceptivo usar el dispositivo virtual. Prueba como dice Javier a importar el dispositivo y ver que pasa. Si no funcionara, esperemos que Fibaro también decida portar la v4 de su firmware al HCL y podamos hacer algo con un plugin. Cuentanos que tal la prueba.
Genial artículo Antonio.
No tenía ni idea de que se pudieran integrar los datos de esta forma.
Gracias.
Muy interesante, no me podía imaginar que se pudieran enviar datos de esta forma al HC2, aunque me he perdido al final. No sé a que código LUA del módulo virtual te refieres, supongo que cada cual tendremos que escribir el nuestro, es así?.
Un Saludo
Hola LiN, tienes razón, faltaba un paso.
Acabamos de actualizarlo con el archivo del dispositivo virtual para descargarlo y añadirlo.
Gracias por avisar.
Hola LiN, gracias por tu aportación. Veo que Javier se adelantó y ya lo ha corregido. Espero que te sea de utilidad.
Muy buen articulo, solo leerlo y estoy deseando probarlo.
Buen artículo, pero entonces esto con un veralite IU6 imposible. ¿No es así? La verdad es que tengo idea de poner el Sai para el router y el NAS, pero nunca se me paso por la cabeza integrarlo en el sistema domotico para recibir información
De ellos.
Buenas noches Miguel, aunque el script está pensado para el HC2, no sería demasiado complicado que lo adaptes al Vera ya que también puede recibir peticiones http. Lo novedoso ha sido poder encontrar un método que permita obtener los datos del SAI a través del NAS.
Sorry to bother you I am banging my head trying to get this working on a DS412+ I have inputted correct details in scripts… manually run script in task scheduler and no values change in hc2 variables! Any idea?
Hi,
Do you have customized the script for your NAS? First, try to run manually the commands and check the results in the command line. If all it’s OK, then the problem is the comunication between the HC2 and the NAS. Do you have created the global variables?
Thanks.
Hola Antonio,
he encontrado esta entrada al blog, gracias a una consulta relacionada con el tema que he hecho en el foro.
El caso es que estoy buscando la manera de enviar un comando http desde mi NAS Synology a Jeedom, cuando en Surveillance Station se active el detector de movimiento de alguna de mis cámaras conectadas.
Más o menos sé que mi idea es factible, pero tengo 2 problemas:
1º Tendría que adaptar, o crear un script nuevo, que realice la acción que busco (si motion=1 –> lanzar http a Jeedom). Alguna sugerencia de código?
2º No tengo ni idea de los pasos que debo seguir para crear y lanzar el script (es decir, no sé si debo copiar el scipt .sh en una carpeta “visible desde la interfaz gráfica” de mi NAS, y luego debo configurar algo para que se lance, p.e. a través de crontab, en la terminal shh del mismo NAS). No sé si podrías explicarme un poco más lento (para dummies) el proceso paso a paso para poder crear/lanzar scripts .sh desde Synology. Aprendiendo el proceso puede ser muy útil no solo para este caso, sino para cualquier otra cosa que se nos ocurra, siempre que sepamos programar….
Hola Antonio,
Estoy intentando hacer funcionar el script y esto ha sido lo que he hecho:
1. Programar en el NAS la tarea para el script se ejecute cada 20 minutos
2.Instale el dispositivo virtual, cree las variables.
Mi pregunta va, no estoy recibiendo ningun dato por parte del NAS, pero pienso que esto se debe a que no puse la ip correcta en el dispositivo virtual, tu sabes que IP debo poner? 127.0.0.1? o la ip de mi NAS? de ser la IP de mi NAS, que puerto debe llevar?! GRACIAS!!
Estoy exactamente igual que tu 😛