El sistema de domótica de mi casa (el controlador o cerebro)

Llevo implicado en la domótica más de 20 años, instalando probando, configurando e integrando diferentes tecnologías. A lo largo de estos años he ido montando un sistema de domótica bastante completo y complejo, utilizando varias tecnologías. Hoy os lo voy a presentar a vista de pájaro, para que os hagáis una idea, entrando en profundidad en otros artículos dedicados a cada sub-sistema.

A grandes rasgos, mi sistema domótico, incluye los siguientes elementos principales (seguro que se me olvidan alguno, porque son muchos):

Como software principal de control de la casa utilizo el software HomeSeer en un pequeño PC dedicado de bajo consumo, sin ventiladores. Este software (realmente completo) se encarga de las principales automatizaciones, programaciones horarias, escenas, síntesis de voz, etc. Es también el encargado de las comunicaciones con los dispositivos ZWave instalados en la casa (interruptores, reguladores de luz, sensores de las puertas interiores, sensores de temperatura, humedad e iluminación, etc, etc).

Node-RED es un software de IBM de lo más útil y lo utilizo principalmente para integrar diferentes tecnologías, a modo de middleware. Podríamos decir que es el «concentrado de comunicaciones» de los diferentes sistemas de la casa. Es como un traductor de protocolos y además se encarga del almacenamiento de la información en bases de datos para posteriormente, por ejemplo, crear gráficas con esos datos. Por ejemplo, cuando HomeSeer detecta que ha saltado la alarma, aparte de realizar diferentes acciones sobre dispositivos que tienen que ver con la seguridad y de las notificaciones mediante síntesis de voz (dependiendo del tipo de alarma de la que se trate, la hora a la que ha saltado, las personas que estemos en casa en ese momento, etc) da la orden a Node-RED para que nos envíe un mensaje por Telegram con todos los detalles de lo que ha sucedido.

Node-RED se encarga también de recibir los datos mediante radio frecuencia de algunos de los sensores instalados en la casa, mediante un receptor especial conectado a uno de sus puertos usb, y comunicar estos datos a HomeSeer o enviarlos mediante MQTT. Muchos sensores, como los de consumo eléctrico y gas, temperaturas, sniffers bluetooth, etc. envían sus datos a Node-RED para que los procese y envíe la información donde proceda (HomeSeer, bases de datos, otros dispositivos, etc).

Una ventaja muy importante de Nodered es que necesita muy pocos recursos para funcionar. Lo tengo instalado en un Raspberry PI 3, que comparte con el servidor MQTT, y algunos servicios más, y tiene potencia de sobra.

Mosquitto es el servidor MQTT de la casa y está instalado en una Raspberry PI 3, que comparte con Node-RED. Recibe las mensajes MQTT de todos los dispositivos de la casa y los reenvía a los que se suscriben a ellos.

Hay poco más que decir sobre él. Hace su importante trabajo en silencio y no da problemas ni pide de comer.

Es la base de datos principal, donde se almacenan los datos a largo plazo de todos los sensores y sistemas. Está instalada en una Raspberry PI 2 y funciona estupendamente.

WeeWX es el software de la estación meteorológica (una Davis Vantage Pro 2 conectada a uno de los puertos usb de la Raspberry PI 2 en la que está instalado) y se encarga del almacenamiento de los datos meteorológicos, su proceso y consolidación, y su envío al servidor web (un VPS hospedado en la compañía Strato) donde reside la web meteorológica de la estación. Con la ayuda del paquete Meteotemplate crea las bonitas páginas que podéis ver en la sección Meteo de esta web.

Pinchar imagen para ver grande

Grafana es el programa que se encarga de crear los gráficos y paneles de datos del sistema domótico. Está instalado en un contenedor Docker en uno de los NAS (un Synology).

Es el complemento perfecto para la visualización de los datos almacenados en la base de datos InfluxDB de todos los sensores y sistemas.

OpenTherm gateway (OTGW)

OpenTherm gateway (OTGW) es el dispositivo conectado a la caldera de gas que proporciona calefacción y agua caliente a la vivienda. Permite acceder a los datos de la caldera, programación, estado, estadísticas de uso, y realizar acciones como cambiar la temperatura deseada desde el sistema domótico en base a las necesidades, ocupación de la casa, datos meteorológicos, etc. tratando de ahorrar siempre en la factura del gas proporcionando un nivel de confort adecuado a los habitantes de la casa.

Compartiendo el Pc con HomeSeer, hay un software que se comunica con la caldera y envía sus datos mediante MQTT al resto de los sistemas. También es capaz de recibir órdenes, mediante MQTT, para el control de la caldera.OpenSprinkler es un programador y controlador de ocho zonas de riego, controlado por HomeSeer, que se encarga del control del riego de las plantas exteriores, calculando sus necesidades en base a los datos meteorológicos, tratando siempre de ahorrar agua y mantener un nivel óptimo de salud de las plantas. Está 100% automatizado de forma que es capaz incluso de utilizar el pronóstico del tiempo para decidir cancelar el riego si va a llover en las próximas horas y la planta va a aguantar.

Dentro los elementos que conforman la gestión de energía eléctrica de la vivienda, este sistema, parte del proyecto OpenEnergyMonitor, se encarga de leer los datos de consumo eléctrico, directamente en el cuadro eléctrico de los cuatro circuitos principales de la vivienda (Total, aire acondicionado, fuerza cocina, y enchufes de potencia) y comunicárselos a Nodered, que a su vez los manda a la base de datos para su almacenamiento y al resto de sistema para su utilización inteligente (por ejemplo, si el consumo de energía es muy alto, puede apagar el aire acondicionado u otros elementos de la vivienda de alto consumo para evitar que salte el limitador).

Blue Iris: Corriendo en una máquina virtual VMWare del PC principal, este software de video vigilancia recibe las imágenes de todas las cámaras instaladas en la casa, las procesa y almacena, detectando, por ejemplo, movimiento en las imágenes, que comunica a HomeSeer, para realizar determinadas acciones relacionadas con la seguridad integral, combinando los datos con los proporcionados por la alarma y otros sensores.

La alarma de la vivienda es una Visonic Powermax Pro, sistema inalámbrico, autónomo e independiente, que funciona sin depender del resto del sistema de domótica. En el PC de HomeSeer, y compartiéndolo con él, un pequeño software llamado Visonic Driver, se comunica con ella y proporciona datos de su estado, detecciones, alarmas, etc. al resto del sistema enviándolos mediante MQTT. Además el sistema puede armar la alarma, desarmarla, etc. De esta forma podemos además desde los cuadros de control, móviles y tablets (e incluso desde las TV de la casa) acceder a la información, armar y desarmar la alarma, etc.

Resumen

Esta ha sido una pequeña presentación del «cerebro» de la casa. Por supuesto, además de estos elementos inteligentes, hay un ejército de sensores y actuadores proporcionando información y ejecutando órdenes. En otra entrada hablaré de algunos de ellos.

¡Hablándole a mi casa!

Hoy he dedicado el día del cacharro a poner en marcha una solución que me permita «hablar con mi casa»; dar órdenes encender y apagar luces y aparatos, ajustar temperaturas preguntar de viva voz por la temperatura o la humedad de distintas habitaciones, etc.

El sistema domótico de mi casa está formado por varios elementos, que he ido integrando a lo largo de los años…

  • HomeSeer PRO: el cerebro principal que dota de inteligencia a la casa. En él están dados de alta todos mis dispositivos  y sistemas (luces, enchufes, la alarma, la estación meteorológica, el programador de riego, la caldera, cámaras de vigilancia, receptores de diversos tipos y protocolos, etc) y se comunica con ellos a través de varios sistemas: http, mqtt, puertos serie, directamente… HomeSeer funciona de forma permanente en un pequeño PC de bajo consumo y sin ventiladores con Windows 7.
  • Node-red: el un sistema visual para la conexión y programación del «internet de las cosas» que permite poner en marcha e integrar rápidamente un sin fin de dispositivos dentro de mi sistema domotico. Este programa se ejecuta en una Rasperry PI 2 y funciona de forma permanente.
  • Mosquitto: un servidor de MQTT (sistema de comunicaciones que utiliza gran parte de mis dispositivos) y que corre en la misma Raspberry PI de Node-red.

Bueno, al grano… que me voy por las ramas…

A día de hoy yo creo que todo el mundo conoce Siri (el asistente de Apple, que poco a poco ha ido introduciendo en todos sus dispositivos). Bien, pues hará unos dos años, Apple dotó a Siri de capacidades para el control de la casa aprovechando su capacidad de comunicación hablada en lenguaje natural y se saco de la manga un estándar llamado «Home Kit». En principio Home kit solamente funciona con dispositivos certificados por Apple (pocos y caros) pero, poco a poco, la comunidad hacker a ido consiguiendo que este sistema funcione con otros dispositivos de otros fabricantes y sobre plataformas que no son Apple.

Alguien muy listo, ha desarrollado un softwar, llamado Homebridge, que permite que casi cualquier dispositivo sea reconocido como un dispositivo Home kit y interactuar con él desde Siri.

Mi trabajo de hoy ha consistido en la instalación del software Homebridge en una Raspberry PI modelo B (la más básica y antigua) y de otro software en HomeSeer que permite que ambos se integren. El resultado: puedo decirle a Siri de viva voz desde un iPad o iPhone «oye Siri, enciende La Luz del flexo» y, como por arte de magia, La Luz se enciende.

En este momento tengo incluidas en Homebridge algunas luces de la casa y todas las sondas de temperatura y humedad de la casa (puedo decir de viva voz «oye, Siri, que temperatura hay en el salón» y Siri me responde de inmediato con la temperatura).

La instalación no es difícil pero si un poco liosa y farragosa. Primero instalar una versión actual de Raspian Jessie, a continuación actualizarla. Después instalar Node.js y, por fin, Homebridge. La configuración tampoco es que sea muy complicada pero tampoco está muy clara porque la información existente en internet es un poco contradictoria y hay que avanzar mediante el método de prueba y error.

Me queda mucho trabajo por delante para integrar el resto de la casa. Lo primero será la alarma, podré decirle a Siri cuando me vaya a la cama «buenas noches» y Siri apagará las luces, pondrá la calefacción en modo noche y activará la alarma en modo noche (solo los sensores exteriores activos) , «me voy de casa» y activará la alarma en modo parcial o «buenos días» y quitará la alarma, pondrá la calefacción más alta y todo lo que tenga que hacer para poner la casa en marcha para el día.

La verdad es que no es sencillo, pero creo que el esfuerzo merece la pena.

Edito (17/12/2016):  ¡Me rindo! Tras unos días trasteando no he sido capaz de que este invento funcione correctamente. Cada pocas horas en el iPad aparece un mensaje diciendo que no hay respuesta de los dispositivos y la única manera que he encontrado de hacer que vuelva a funcionar es borrar la casa en el iPad y volverla a crear, lo que supone volver a poner cada dispositivo en su habitación correspondiente, crear las escenas, etc… mucho trabajo. El sistema me gusta, por lo que volveré a probar un poco más adelante.