Integración del controlador eedomus con HomeKit – Parte 1

  • Guía para integrar eedomus con HomeKit de Apple para visualizar y actuar a través de Siri en dispositivos registrados en eedomus usando una Raspberry Pi.

Como hemos podido ver en las numerosas guías que poblan el blog de Domótica Doméstica, eedomus es un controlador muy potente y versátil que nos permite integrar infinidad de dispositivos de manera relativamente sencilla. Otra de las grandes ventajas de este controlador es que dispone de una API que nos permite, entre otras cosas, conocer el estado de los módulos y actuar sobre ellos en cualquier momento y desde cualquier lugar de forma intuitiva.

Otro dispositivo del que podemos encontrar un buen número de artículos e información es la Raspberry Pi: ese pequeño ordenador que puede ampliar notablemente las capacidades domóticas de nuestro hogar.

En este tutorial, que vamos a separar en tres artículos, veremos cómo podemos controlar los dispositivos que tenemos en eedomus con comandos de voz mediante Siri, el asistente de voz de Apple, haciendo uso de los dos dispositivos arriba nombrados: eedomus y Raspberry Pi. Es decir, controlaremos la eedomus con Homekit de Apple.

eedomus con Homekit de Apple

Antes de comenzar, vamos a dar un repaso a los dispositivos que vamos a necesitar para controlar nuestra eedomus con Homekit:

  • Eedomus
  • Servidor con homebridge + plugin eedomus (en el caso de este tutorial nos centraremos en la instalación en Raspberry Pi 2)
  • Dispositivo iOS con Siri
  • App para HomeKit en iOS

Opcional:

  • AppleTV (a partir de la 3ª generación)

El AppleTV nos permitirá tener control sobre HomeKit desde fuera de nuestra red doméstica, es decir, desde cualquier parte del mundo en que nos encontremos y tengamos conexión a internet. Va a ser la pasarela entre homebridge e internet.

Es importante tener en cuenta que la compatibilidad de AppleTV con HomeKit es a partir de la 3ª generación, es decir, sólo funciona con el último y penúltimo modelo.

Dispositivo iOS con Siri:

  • iPhone
  • iPad
  • Apple Watch

Aquí tenía esperanzas de poder controlar HomeKit utilizando Siri desde el nuevo mando del AppleTV de 4ª generación, pero por desgracia todavía no es posible.

App para HomeKit en iOS:

Apple no tiene aplicación oficial para HomeKit, pero hay aplicaciones de terceros como Elgato EveiDevices o Insteon+ (todas ellas gratuitas). Personalmente, la que más me ha gustado de todas es “Elgato Eve“.

También es recomendable instalar la aplicación “Discovery – Bonjour Browser“, que nos permitirá comprobar la comunicación con homebridge.

Eve para iOS

Servidor con homebridge:

Este tutorial se centra en el uso de la Raspberry Pi 2 como pasarela entre HomeKit y el paquete NodeJS homebridge. Además de esto es necesario instalar el paquete para eedomus. Se trata de un paquete no oficial que he desarrollado para los lectores del blog y del foro, aunque está publicado en github y cualquiera puede hacer uso de él. Esto también posibilita colaborar o mejorarlo.

Si no disponemos de Raspberry, es posible instalar homebridge en dispositivos linux, MacOS o incluso Windows.

¿Qué es homebridge?

Se trata de una aplicación NodeJS que actúa como servidor y emula la API HomeKit de iOS. Soporta Plugins, que son módulos que funcionan de puente entre HomeKit y las APIs de aplicaciones de terceros, en nuestro caso el controlador eedomus.

¿Qué vamos a poder hacer?

Lo que conseguiremos una vez hayamos finalizado los pasos de este tutorial, es a través de Siri interactuar con nuestros dispositivos (tanto los Z-Wave como cualquier dispositivo que tengamos en nuestro eedomus).

Por ejemplo, vamos a poder decirle a Siri:

Siri, enciende la televisión
Siri, ¿qué temperatura hace en el despacho?
Siri, apaga las luces
Siri, enciende las luces de la planta baja
Siri, salgo ya! (y que nos cierre las puertas del garaje)Siri confirma el cierre de la puerta

Instalación en Raspberry Pi 2

Lo primero que deberíamos hacer para poder instalar homebridge (con las dependencias necesarias), y para evitar problemas, será actualizar nuestra versión de sistema operativo.
Las pruebas que he realizado han sido con la distribución Raspbian, y tras encontrarme con algún que otro problema para instalar homebridge finalmente pude hacerlo al actualizar a la última distribución, Jessie.

Es totalmente recomendable realizar la actualización con acceso físico a la Raspberry, es decir, conectando teclado y monitor en vez de actualizar por ssh.

Además, es muy recomendable realizar estos pasos como usuario root (podríamos hacerlo con nuestro usuario utilizando sudo antes de los comandos, pero se nos puede olvidar alguno, complicando la instalación).

– CASO A: nueva instalación desde cero:

Si tenemos una Raspberry nueva, sin sistema operativo, no nos importa nada lo que teníamos, o simplemente lo vamos a instalar en otra tarjeta de memoria, podemos instalar directamente la versión Jessie de Raspbian bajándolo desde su sitio web.

Para instalarlo desde cero, y de manera más sencilla, se puede hacer desde NOOBS, que no es más que un simple instalador que contiene Raspbian.

Una vez que lo tengamos instalado, con Jessie, nos saltarnos el siguiente paso “CASO B” y ya podemos ir a la siguiente entrega, donde veremos cómo instalar homebridge.

– CASO B: actualización desde Wheezy

Toda la información para actualizar a Jessie ha sido sacada de este enlace.

Siempre antes de actualizar o liarnos a instalar paquetes como locos, debemos hacer alguna copia de seguridad para evitar una posible pérdida de datos.
Una vez tengamos un backup de lo que necesitemos, vamos a ver como pasar de Raspbian Wheezy a Jessie:

Actualizamos todos los paquetes a su última versión:

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Actualizamos la lista de las fuentes de apt:

# sed -i 's/wheezy/jessie/g' /etc/apt/sources.list

Comprobamos que tenemos algo así:

root@raspi:~# cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
#deb http://archive.raspberrypi.org/debian jessie main

Es decir, la primera línea es la válida para el repositorio de paquetes, y el resto las tenemos comentadas (o lo que es lo mismo, se ignoran).

Actualizamos a Jessie:

Una vez que empecemos el procedimiento de actualización, nos dará a elegir si queremos reiniciar manualmente los servicios que están corriendo.

El reinicio manual de los servicios es recomendable, porque así podemos elegir los servicios a reiniciar, por ejemplo el demonio SSH, lo que sería importante si estamos llevando a cabo la actualización de la Raspberry por ssh, ya que en algún caso podríamos perder el acceso. De nuevo, es recomendable llevar a cabo la actualización con teclado y pantalla.

Teniendo claro lo arriba expuesto, empezamos con la actualización. Se trata de los mismos comandos que al principio, pero al haber cambiado las fuentes lo hará con los paquetes de la nueva versión:

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Una vez finaliza, debemos reiniciar nuestra Raspberry Pi:

# reboot

Cuando arranque, podemos comprobar que la versión ha sido actualizada, ejecutando el comando hostnamectl:

root@raspi:~# hostnamectl
Static hostname: raspi
Icon name: computer
Chassis: n/a
Machine ID: 440a68c6f28d3e287c6b6c7b554a9684
Boot ID: 9e84c98e9d174b98862a2c8c5b15339c
Operating System: Raspbian GNU/Linux 8 (jessie)
Kernel: Linux 4.1.13-v7+
Architecture: arm

Si habéis llegado hasta aquí, !enhorabuena! !ya tenéis parte del trabajo hecho!

Hasta aquí la primera parte de esta serie de tutoriales. En la siguiente entrega veremos cómo instalar homebridge.

Carlos Fernández

Informático en el mundo de las telecomunicaciones y gran apasionado de las tecnologías, el mundo Apple y la domótica.


4 Respuestas

  1. Jose dice:

    Ale pues, ya me he pedido la raspi 😜

  2. Muchas gracias Carlos. No me he podido aguntar, y aún a falta de la segunda parte… ya he conseguido hacerlo funcionar. Es un pasote esto.

    • Carlos Fernández dice:

      Genial! Realmente aunque el tutorial sean varias partes, si tienes algo de soltura con linux y raspberry es mucho más sencillo de lo que parece, es solo instalar homebridge y el plugin que he subido para eedomus y listo.
      Los que estéis esperando la segunda parte, permaneced atentos al blog!

  3. Carolina dice:

    Enhorabuena por el blog!

    Todo esta muy bien escrito para la gente que somo un poco mas torpes.

    Una pregunta, tenemos el sistema Airzone y at home en una nueva casa. Nos gustaria conectar los dispositivos controlados por este sistema (persianas, luces, aire y calefaccion..) directamente a traves de apple home sin tener que usar su aplicacion.
    Es posible hacer un bridge o pasarela para que esto sea posible?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *