Instalación de HomeAssistant (HA) en un NAS de QNAP mediante contenedores
Datos del producto
Nombre del producto: Instalación de HomeAssistant (HA) en un NAS de QNAP mediante contenedores
Fabricante: QNAP y Home Assistant
Precio : >500-600 EUR el NAS y 0 EUR el Home Assistant
Venta: En muchos sitios. .
Comentarios: En el FORO
Soporte: ¿Por qué no en tu página amiga? .

Datos de la revisión
Revisado por: Pedro Hernández (Pharizna)
Fecha revisión: 2 de mayo de 2018


Sin más que mirar la lista de Últimos Reportajes que hemos hecho en PcDeMaNo notaréis que si bienen años anteriores primaban los NAS este año todo ha cambiado y en lugar de sobre hardware (caro habitualmente) nos hemos volcado en temas de software open source ... y coste cero.

En esta ocasión haciendo un guiño a nuestros queridos NAS vamos a re-revisar uno de ellos el TBS-453A NASBOOK que pasó por PcDeMaNo allá por el verano de hace un par de años. Todavía lo seguimos utilizando más que nada porque es , con mucho, el más silencioso y pequeño ya que en lugar de utilizar SSD o HD convencionales emplea SSD en formato M.2.

¿Y porqué nos ha dado por aventurarnos a cambiar HA de una RPi3 a un (caro) NAS? No es que la RPi3 nos de problema alguno y pensamos que es más que suficiente para Home Assistant... pero teníamos el NAS muerto de risa y sin uso ... y siempre estamos ansiosos de aprender. ¿Por qué no aprender de contenedores - dockers y montar HA en un NAS ya que de la RPi3 no es problema ninguno?¿No?.

La verdad sea dicha es que hay otro par de razones que nos han animado en nuestra aventura:

Por un lado, mucho amigo hablan de como tienen montado su HA en NAS de Synology... y curiosamente nosotros ahora mismo no tenemos (al menos fuera de su caja) ninguno de esta marca por lo que ¿por qué no hacer lo mismo pero sobre una QNAP (de los tres que tenemos conectados)?.>

Otra razón adicional fue comprobar si los "problemas" que tiene la webcam Dafang de Xiaomi para producir e integrar vídeos de calidad suficiente en HA es simplemente problema de la webcam (hackeada) o parte de la culpa viene a consecuencia de las limitaciones de la RPi3 y HA. Al final de la "revisión" os enteraréis... pero para eso os la tendréis que leer entera ¿como no?.

CONTENEDORES


Probablemente muchos de vosotros habréis montado alguna máquina virtual (VM) para poder utilizar por ejemplo Linux en un PC sin necesidad de tener que hacer una partición adicional del disco duro, etc. Por otra parte las VM son muy aconsejables para desarrollar por cuanto al final siempre puedes reinstalar una nueva encima y listo. Sin embargo son lentas de preparar y de iniciar siendo además muy pesadas consumiendo muchos recursos del ordenador "anfitrión".

En la actualidad, están mucho más de moda los contenedores tipo Docker por cuanto son muchísimo más ligeros que las VM abstrayéndose del sistema operativo y haciendo las aplicaciones más portables... tanto que se pueden montar incluso en servicios cloud. Por supuesto su tamaño es de megas (frente a las GB de las VM) y arrancan en segundos en lugar de en minutos así qué ¿por qué no instalar HA en un QNAP aprovechando sus contenedores?









MANOS A LA OBRA


Todavía recuerdo cuando en alguna de nuestras últimas revisiones de los NAS de QNAP nos quejábamos de la falta de paquetes que tenía frente a los NAS de su competencia Synology. Algún "amigo" (catalán, por más señas) nos comentó de que tal problema podría ser subsanado con la ayuda del empleo de contenedores / dockers... pero entonces éramos demasiado jovenes e inexpertos y nos supimos ver esta posibilidad. Ahora con los años, con el cambio de empresa y con los nuevos proyectos que estamos llevando a cabo hemos seguido aprendiendo nuevas cosas y entre ellas las ventajas del uso de contenedores incluso para proyectos de Big Data :)

Bueno, lo dicho, manos a la obra: Entre las "Apps" que vienen con el firmware de QNAP está un CONTAINER STATION, en Beta (siguiendo la costumbre de Google) pero funcionando a la perfección.

Su uso es de lo más sencillo y ante la más mínima duda deja los valores por defecto y, casi seguro, que funcionará sin problema alguno. En cualquier caso si hay algún problema repite la operación y genera un nuevo contenedor lo que no te llevará más de un par de minutos!.

Un par de comentarios relativos a esta imagen:

Que no os asuste el 46% de carga ya que al hacer el pantallazo el NAS estaba haciendo backups, etc y de ahí su "sobrecarga" ya que en condiciones normales trabajando con HA no llegaba ni al 10%.

La segunda observación es que este NAS viene con un procesador Intel Celeron por lo que solo se podrán usar los contenedores disponibles para esta arquitectura y que afortunadamente no son pocos. En el caso de que vuestro NAS venga con otro procesador os tocará buscar o incluso haceros vuestro propio contenedor lo que tan poco es muy difícil :)

En nuestro caso lo más complicado ha sido elegir entre la gran cantidad de contenedores que hay disponibles para la carga. En nuestro caso hemos utilizado el primer enlace desde el que se puede acceder a todas y cada una de las versiones de HA.



Una vez seleccionado el contenedor a crear (en este caso con la versión de HA adecuada) es importante pasar a la pantalla de opciones avanzadas sin necesidad de tocar nada de la pantalla inicial.





En esta pantalla "avanzada" hay que introducir en la pestaña de entorno/environment una "variable" "TZ" y otra "Value" con "Europe/Madrid" para no tener problemas con las horas en HA. Aunque puesto así las horas en HA coinciden con las "reales"... en el LOG aparecen en formato londinense. Después de haber probado con TZ+2, etc ... no parece que sirva de nada. Quizás en lugar de Europe/Madrid poniendo UTC+2 habría sido lo correcto pero no hemos tenido tiempo y os lo dejamos de "deberes" para vosotros y ya nos contaréis :)

En la pestaña de Network tendréis que seleccionar HOST en el Network Mode y por último tendréis que crear una nueva carpeta en la de CONTAINER del NAS para ubicar los ficheros de configuración de HA (o sea la equivalente a .Homeassistant en la RPi).



Una vez creada dicha carpeta tan solo nos queda montar el enlace /config a dicha carpeta recién creada /container/homeA en nuestro caso.

En ese momento (y solo entonces) pulsando el botón CREATE se crea el contenedor de HA que se pone en marcha de forma automática si nos habéis hecho caso y no habéis tocado nada en la página inicial en la que estaba activo el AUTO START.

Ya solo es necesario copiar, por ejemplo, los ficheros YAML de tu versión de RPi y "milagrosamente" todo debería funcionar. La verdad es que en nuestro caso hemos tenido que comentar algunas líneas relacionadas con operaciones a bajo nivel moviendo ficheros por carpetas de la RPi que evidentemente deben cambiar de nombre. Por ahora no hemos querido trabajar más en esta línea por cuanto seguimos con la idea de utilizar la RPi3 como primer equipo dejando el NAS para pruebas ya que son mucho más rápidas... o sea nuestro entorno de desarrollo y preproducción dejando el HA de la RPi3 como el sistema de Producción :)





INSTALANDO MQTT


Hemos de reconocer que no somos el usuario típico que utiliza HA para "automatizar" con sensores de proximidad el encendido o apagado de luces o la subida o bajada de toldos... sino más bien nos interesa como herramienta para IoT. Por eso lo usamos para tener medidas en tiempo real del consumo de EE de nuestra casa o conectado a una Estación Meteorológica para tener información local del tiempo.

Por eso no hemos podido pasar la oportunidad de disponer de toda esta información en nuestro HA-QNAP aprovechando que la comunicación se hace vía MQTT. Por ello, hemos buscado un contenedor y le hemos creado de igual forma que el anterior.

La verdad es que, por prisas, no nos hemos molestado en crear recursos compartidos para MQTT dejando al sistema que los cree aunque siempre se puede saber donde están si hace falta acceder a ellos (lo que hasta ahora nunca hemos tenido necesidad de hacer).



No sabéis el gusto que da ver que en un par de minutos están los dos servicios / contenedores funcionando (aunque para ello hayamos tenido que hacer algún pequeño cambio en el "sensor" MQTT del HA-QNAP para que apunte a la IP del RPi3 que es adonde envían los datos la Estación meteorológica y el SonOff medidor de EE.

En resumen, con el montaje "provisional" que hemos hecho el RPi3 es imprescindible para que siga llegando la información al HA-QNAP. Sin embargo, la ventaja es que cuando nos cansemos de la RPi2 bastara con poner la misma IP de este al QNAO, desenchufar el primero y todo funcionará sin problema alguno.

Desde la propia "app" del Container Station es posible acceder a los logs tanto del Home Assistant ...

como de Mosquitto.







Y TODO ESTO ¿PARA QUÉ?


Más de uno se preguntará porqué teniendo HA funcionando perfectamente en RPi3 hemos perdido un par de días en pelearnos con un NAS que cuesta 20 veces más que una RPi3 aunque eso sí es mucho más rápido y dispone de 500 GB de almacenamiento aparte de poder arrancar el HA unas cinco veces más rápido que en el caso de la RPi3.

Aparte de por la velocidad del SpeedTest que evidentemente es mucho mayor en el caso del HA-QNAP (entre otras cosas porque está conectado vía cable) frente a la RPi3 vía WiFi ... no hay diferencia alguna entre ambos HA ¿no?.



Sin embargo y este es el origen de esta prueba que hemos hecho durante este Puente, cuando pinchando sobre la imagen de la webcam Dafang de Xiaomi si bien en la opción HA-QNAP se puede ver un vídeo 1080p y a 1-2 fps ...

en el caso de la RPi3 si bien alguna vez hasta conseguimos ver la imagen a 1080p no pasamos de un fotograma cada 4-5 segundos lo que viene a demostrar que el "Hardware" de la RPi3 no es lo suficientemente potente para mover bien los vídeos de la Dafang, al menos dentro de Home Assistant lo que es una pena :(






Conclusión Si tienes por ahí un NAS que te sobre (o poco utilizado) puedes instalar sobre el Home Assistant incluso de una forma más sencilla que sobre una RPi3. Por otra parte agradecerás la velocidad de acceso así como su mayor capacidad de almacenamiento, etc.

Lo bueno
• La instalación vía contenedores es sumamente rápida y cómoda a la vez que segura ya que no "perjudicarás" el propio sistema operativo.
• Velocidad increíble tanto en cuanto acceso como visualización de webcam, etc.
• Prácticamente todo es compatible con la versión de HA que tengas corriendo en una RPi3 por lo que basta con copy/paste de los ficheros YAML y lo tendrás funcionando.
• La instalación de MQTT es coser y cantar y sin error alguno como los que tuvimos con la RPi.
• Es posible disponer de varios contenedores con diferentes versiones de HA y ejecutar uno u otro (e incluso varios de forma simultánea) sin grandes necesidades de hardware y garantizando la seguridad absoluta del S.O. del NAS :)
• Como sistema de pruebas y para desarrollo es increíble por su velocidad inicio, etc.
• Lo mejor de todo es que con un miniPC (mucho más barato que un NAS podrás tener "casi" lo mismo que con un potente NAS ... exceptuando el tema de almacenamiento, claro
Lo malo
• Precio muy, muy elevado.
• Todavía no he tenido tiempo para conseguir automatizar al arranque coordinado de MQTT siempre antes que HomeAssistant.
• Si bien existen contenedores para Grafana e InfluxDB tampoco he tenido tiempo para ponerlos en mi HA-QNAP aunque he conseguido "con un truquillo" traer las figuras que hago mediante Wizzy (para el que también hay un contenedor, como no) en la RPi3.


PUNTUACIÓN: 9





Pharizna que aparte de todo esto ha conseguido mediante REST bajar información directamente desde APIs y así poder insertar la imagen del día de la NASA en su HA... pero eso os lo contaremos otro día si os interesa, claro.



Este artículo proviene de PcDeMaNo
http://www.pcdemano.com

La dirección de esta noticia es:
http://www.pcdemano.com/modules.php?name=Sections&op=viewarticle&artid=1787