Cómo controlar sus luces Philips Hue con atajos de teclado
Ser capaz de encender y apagar las luces con su voz es una de las mejores cosas de tener un hogar inteligente. Sin embargo, si no tiene un Amazon Echo o Google Home, o si prefiere los atajos de teclado, puede usar un script AutoHotkey para controlar las luces Philips Hue desde su computadora.
Para esta guía, usaremos AutoHotkey, un pequeño y sorprendente programa que te permite escribir scripts de automatización personalizados e incluso reasignar teclas en tu teclado. Si no está familiarizado con AutoHotkey o necesita descargarlo en su máquina Windows, consulte nuestra guía para principiantes aquí.
Lo que necesitarás
Le mostraremos un script básico que puede usar para encender y apagar un conjunto de luces (que puede personalizar más adelante). Antes de hacer eso, necesitarás algunas cosas..
- Una máquina Windows con AutoHotkey instalado: Si aún no lo has hecho, puedes descargar AutoHotkey aquí. Solo está disponible para máquinas Windows, desafortunadamente. La aplicación se ejecutará en segundo plano e interpretará los scripts que creas (generalmente en un programa como el Bloc de notas).
- Su dirección IP de Philips Hue Bridge: Deberá ingresar la dirección IP de su Bridge en el script para que funcione. Te mostraremos cómo encontrar esta información a continuación..
- Un nombre de usuario de la API Philips Hue Developer: El script que estamos usando también usa la API del desarrollador. Para poder utilizarlo, deberá tener una cuenta y conocer el nombre de usuario de la API de desarrollador. Una vez más, le mostraremos cómo obtener una cuenta y encontrar su ID a continuación.
- El script de AutoHotkey: En la siguiente gran sección a continuación, tendremos el script del que estamos basando esta guía. Tarrosion, el usuario de Reddit, creó una plantilla en la que basaremos la nuestra si quieres profundizar un poco más. Sin embargo, hemos modificado este script para simplificarlo. Copie el script de la sección a continuación, péguelo en un documento de Bloc de notas en blanco y luego guárdelo con un nombre como
hueshortcut.ahk
.
Si ya conoce la dirección IP de su puente y el nombre de usuario de la API, puede omitirlo..
Cómo encontrar su dirección IP de Bridge
Su dirección IP de puente es relativamente fácil de encontrar. Dirígete a este enlace e inicia sesión en tu cuenta de Philips Hue.
En la parte superior de la página, haga clic en Puente.
Haga clic en el botón "Mostrar más detalles del puente".
Tome nota de su dirección IP interna. Lo necesitaras mas tarde.
Aferrate a esto para la siguiente sección.
Cómo obtener una cuenta de API de desarrollador de Hue
Si aún no tiene una cuenta de desarrollador de Hue, o si olvidó su nombre de usuario de API, deberá obtener una ahora. Esta parte es un poco más complicada, pero si se siente cómodo usando algunos comandos de texto, debería ser sencillo. Comience aquí y cree una nueva cuenta de desarrollador con Hue.
Recibirá un correo electrónico pidiéndole que confirme su cuenta y cree una contraseña. Una vez hecho esto, diríjase a la siguiente URL, reemplazando con la dirección IP que tomó de la sección anterior.
http: ///debug/clip.html
Aquí, verás una herramienta que te permite enviar comandos manualmente a tu puente de Hue. Si no entiendes todo en esta página, está bien. Solo necesitas usar esta herramienta para obtener tu nombre de usuario de API. Para eso, ingresa / api /
en el cuadro de URL. En Cuerpo del mensaje, ingrese "devicetype": "my_hue_app # iphone peter"
reemplazando iphone peter
con cualquier descriptor que desee, preferiblemente uno que describa el dispositivo en el que lo está utilizando.
Cuando haya ingresado toda la información, toque el botón de enlace en su puente de Hue. Este es un paso de seguridad para asegurarse de que solo usted o alguien dentro de su hogar pueda crear aplicaciones para controlar sus luces. Una vez que haya presionado el botón de enlace en su puente, haga clic en POST.
En el cuadro Respuesta de comando, debería ver un resultado que se parece al de abajo (naturalmente, el desenfoque del censor, naturalmente). Se le dará un nombre de usuario largo y aleatorio. Copia esto en alguna parte y guárdalo. Lo necesitarás para el guión más adelante..
Ahora que tiene esos dos datos, está listo para configurar su script!
Cómo configurar el script de AutoHotkey
Como mencioné anteriormente, para esta guía, estamos usando una versión modificada de este script de redditor tarrosion. Lo hemos ajustado para agregar accesos directos para que pueda encender y apagar un grupo de luces a la vez en lugar de todas las luces de su casa. Aquí están las siguientes teclas de acceso rápido que podrá utilizar con este script:
- Ctrl + Alt + L: Enciende o apaga todas tus luces.
- Ctrl + Alt + I: Apagar todas las luces.
- Ctrl + Alt + O: Enciende el grupo actual de luces.
- Ctrl + Alt + I: Apaga el grupo actual de luces.
- Ctrl + Alt + 1: Cambiar al grupo 1.
- Ctrl + Alt + 2: Cambiar al grupo 2.
- Ctrl + Alt + Arriba: Aumenta el calor del grupo actual de luces (requiere bombillas de color o de ambiente).
- Ctrl + Alt + Abajo: Disminuye el calor del grupo actual de luces (requiere bombillas de color o de ambiente).
- Ctrl + Alt + Izquierda: Aumentar el brillo del grupo actual de luces..
- Ctrl + Alt + Derecha: Disminuir el brillo del grupo actual de luces..
Puedes crear o modificar tantos grupos de luces como necesites. Para este ejemplo, he creado dos grupos de dos luces cada uno: uno para una oficina y otro para la sala de estar. Puede cambiar los nombres de estos como mejor le parezca. También es posible que deba cambiar los valores de cada grupo según la cantidad de luces que tenga..
Primero, copie el script a continuación en un documento de Bloc de notas y guárdelo como algo parecido a "huelights.ahk" asegurándose de reemplazar la extensión .txt por .ahk. Sin eso, el Bloc de notas lo guardará como un archivo .txt y AutoHotkey no podrá ejecutarlo.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 office: = [1,2] livingroom: = [3,4] curgroup: = office
lightoff (light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": false WinHTTP.Enviar (bodytext) return lighton (light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": true WinHTTP.Send (bodytext) return setlightct (light, newct, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifylightct (light, cantidad, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light "/ state", 0) bodytext = "ct_inc":% amount%, "transitiontime": 2 WinHTTP.Send (bodytext) modifylightbrightness (light, amount, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "bri_inc":% cantidad% ", tiempo de transición": 2 WinHTTP.Send (bodytext); ctrl-alt -1: cambio al grupo 1 ^! 1 :: curgroup: = retorno de oficina; ctrl-alt-2: cambio al grupo 2 ^! 2 :: curgroup: = retorno de la sala de estar; ctr l-alt-o: enciende las luces de grupo ^! o :: para _, luz en el grupo de luces lighton (luz, WinHTTP); ctrl-alt-i: apaga las luces de grupo ^! i :: para _, luz en curgroup lightoff (light, WinHTTP) return; ctrl-alt-l: alternar todas las luces ^! l :: WinHTTP. Abrir ("PUT", "http: /// api // groups / 0 / action", 0) si lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: todas las luces apagadas ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP .Enviar (cuerpo del cuerpo) lightsOn: = 0 return; ctrl-alt-Up: aumenta el calor del grupo de luz actual ^! Up :: for _, light en curgroup modifylightct (light, 43, WinHTTP) return; ctrl-alt-Down: disminuir el calor del grupo de luz actual ^! Abajo :: para _, luz en curgroup modifylightct (light, -43, WinHTTP) retorno; ctrl-alt-Izquierda: aumentar el brillo del grupo de luz ^! Izquierda :: para _, luz en curgroup modifylightbrightness (light, -32, WinHTTP) return; ctrl-alt-Right: disminuye el brillo del grupo de luces ^! Right :: for _, light en curgroup modifylightbrightness (light, 32, WinHTTP) return
Ahora, tendrás que hacer un par de ajustes. Primero, en el script, cambia cada instancia de a la dirección IP que recibió de su puente anteriormente. A continuación, reemplace
con su nombre de usuario API de Hue. Debería haber siete instancias de cada uno en el script anterior.
A continuación, verá una sección en la parte superior que define los grupos que puede controlar. Esa sección se ve así:
oficina: = [1,2] salón: = [3,4]
Las dos primeras líneas definen tus grupos de luces. A cada bombilla se le asigna un número, aunque no siempre es obvio a qué número corresponde cada una de sus luces. La forma más fácil de verificar es abrir la aplicación Hue y tocar Configuración, luego tocar Configuración de luz.
Aquí, verás una lista de todas tus luces. Cuenta cada uno hacia abajo para averiguar qué número son tus luces. Por ejemplo, las dos luces en mi oficina están en la parte superior, por lo que serían 1 y 2. Debajo están las luces de mi sala de estar, por lo que deberían ser 3 y 4. Si ha quitado y agregado luces nuevas de su configuración , estos números pueden cambiar un poco, así que pruebe sus scripts y use un poco de prueba y error para asegurarse de que está usando las luces correctas.
Una vez que haya encontrado los números que corresponden a sus luces, cámbielos en las dos líneas de arriba. También puede cambiar el nombre de cada uno de los grupos si lo desea. Solo asegúrate de cambiar cada instancia de ese nombre de grupo en el guión. Si desea agregar un tercer grupo (o más), cree una nueva línea debajo de los dos primeros utilizando el siguiente formato, reemplazando X, Y con los números de las luces que desea agregar a ese grupo:
nombre de la habitación : = [X, Y]
También deberá agregar otro acceso directo para poder cambiar al tercer grupo. Seleccione el siguiente bloque de texto en el script de arriba y haga una copia debajo de este bloque de texto, cambiando todos los 2s a 3s y cambie "livingroom" (o el nombre que le dio a su segundo grupo) al nombre del tercer grupo:
; ctrl-alt-2: cambia al grupo 2 ^! 2 :: curgroup: = retorno de la sala de estar
Si está familiarizado con AutoHotkey, puede modificar este script aún más para agregar nuevos accesos directos o controlar sus luces de diferentes maneras. Consulte la documentación de AutoHotkey si necesita ayuda. También puede consultar el Philips Hue API aquí para ver más comandos que puede integrar en su script.