Fon Simó

Controlar luces HUE con una Raspberry Pi

En este pequeño artículo explico cómo controlar luces HUE con una Raspberry Pi. En mi caso, lo uso para encender las luces cuando mi sistema de videovigilancia detecta movimiento (para dar la «bienvenida» a quien entre en casa, sea bienvenido o no) 😛

En concreto, como mi Raspberry es «headless», esto es, no uso monitor-teclado, uso hue-shell (hay otras soluciones basadas en entornos gráficos o APIs)

Instalar hue-shell

La instalación es muy fácil. Con este comando ya tienes el paquete instalado:

sh -c "OPT=install; $(curl -fksSL https://raw.github.com/Josef-Friedrich/Hue-shell/master/install.sh)"

Una vez tienes el paquete instalado, necesitas configurar hue-shell con una IP y un usuario. Si no sabes la IP de tu bridge, hay varias maneras de averiguarla. La más fácil, es visitar esta URL (conectado a la misma red que el bridge)

https://discovery.meethue.com

Hay otros métodos descritos en la propia web de desarrolladores de Philips HUE en este enlace

Crear un usuario para la Raspberry

Para poder utilizar las luces HUE desde una Raspberry, has de crear un usuario en el propio bridge. Autorizar un dispositivo, de la misma manera que lo autorizas cuando empiezas a usar un móvil para controlarlo.

Para ello, vamos a interactuar directamente con el puente, usando la API de Philips HUE. Has de visitar la página del bridge (usando la IP que averiguamos antes) Para estos ejemplos, la IP del bridge es la

http://192.168.2.145/debug/clip.html 

En la URL pon /api y en el cuerpo del request

{"devicetype":"nombre_de_la_app#raspberry"}

Puedes renombrar nombre_de_la_app por un nombre más amigable, y Raspberry por el nombre de tu Raspberry Pi.

Con esto obtienes un nombre de usuario único, que será el que use hue-shell para interactuar con tus luces.

Recuerda, tienes que apretar el botón del bridge, tal y como haces cuando enlazas un móvil.

Si funciona, obtienes el nombre de usuario. Algo así:

Para validar que funciona, haz esta verificación:

Entra en

http://192.168.2.145/api/<usuario>/lights

Y obtendrás la lista de luces (en formato JSON)

Configurando hue-shell con esa IP y el usuario

Lo siguiente entonces es editar el fichero
/etc/hue-shell/hue-shell.conf
y poner la IP y el usuario

Con esto, hue-shell ya está configurado. Ahora, a probar que funciona. Ejecuta el comando

hue get all

Y obtendrás la lista de las luces

Encendiendo y apagando luces HUE con una Raspberry

Sabiendo la bombilla que quieres controlar, con el comando hue set enciendes y apagas las luces, eliges color, etc. Para encender la bombilla 1:

hue set 1 –on

Simplemente con el comando hue obtienes la lista entera de comandos disponibles

Aquí tienes la documentación completa del paquete:

http://josef-friedrich.github.io/Hue-shell/docs/

Salir de la versión móvil