Como controlar suas luzes Philips Hue com atalhos de teclado
Ser capaz de ligar e desligar suas luzes com a sua voz é uma das melhores coisas sobre ter uma casa inteligente. Se você não tiver um Amazon Echo ou o Google Home, ou simplesmente preferir atalhos de teclado, poderá usar um script AutoHotkey para controlar as luzes Philips Hue do seu computador.
Para este guia, vamos usar o AutoHotkey, um pequeno programa incrível que permite escrever scripts de automação personalizados e até mesmo remapear as teclas do teclado. Se você não está familiarizado com o AutoHotkey ou precisa baixá-lo para sua máquina Windows, confira nosso guia para iniciantes aqui.
O que você precisará
Nós vamos mostrar-lhe um script básico que você pode usar para ligar e desligar um conjunto de luzes (que você pode personalizar mais tarde). Antes de fazermos isso, você precisará de algumas coisas.
- Uma máquina Windows com o AutoHotkey instalado: Se ainda não o fez, pode transferir o AutoHotkey aqui. Está disponível apenas para máquinas Windows, infelizmente. O aplicativo será executado em segundo plano e interpretará os scripts criados (geralmente em um programa como o Bloco de notas).
- O seu endereço IP da Philips Hue Bridge: Você precisará inserir o endereço IP do Bridge no script para que ele funcione. Vamos orientá-lo sobre como encontrar essas informações abaixo.
- Um nome de usuário da API do desenvolvedor Philips Hue: O script que estamos usando também usa a API do desenvolvedor. Para utilizá-lo, você precisará ter uma conta e saber o nome de usuário da API do desenvolvedor. Mais uma vez, mostraremos como obter uma conta e encontrar seu ID abaixo.
- O script AutoHotkey: Na próxima grande seção abaixo, teremos o script do qual estamos baseando esse guia. Reddit usuário tarrosion criou um modelo que nós estaremos baseando nosso fora daqui se você quiser mergulhar um pouco mais profundo. No entanto, ajustamos esse script para simplificá-lo. Copie o script da seção abaixo, cole-o em um documento em branco do Bloco de Notas e salve-o com um nome como
hueshortcut.ahk
.
Se você já conhece o endereço IP da sua ponte e o nome de usuário da API, pode pular.
Como encontrar seu endereço IP de ponte
O endereço IP da sua ponte é relativamente simples de encontrar. Dirija-se a este link e faça login na sua conta Philips Hue.
Ao longo do topo da página, clique em Bridge.
Clique no botão "Mostrar mais detalhes da ponte".
Anote o seu endereço IP interno. Você precisará disso mais tarde.
Aguente firme para a próxima seção.
Como obter uma conta da API do desenvolvedor do Hue
Se você ainda não tem uma conta de desenvolvedor do Hue, ou se esqueceu seu nome de usuário da API, precisará obter uma agora. Esta parte é um pouco mais complicada, mas se você estiver confortável usando alguns comandos de texto, deve ser simples. Comece indo até aqui e crie uma nova conta de desenvolvedor com o Hue.
Você receberá um e-mail pedindo para confirmar sua conta e criar uma senha. Uma vez feito isso, vá para o seguinte URL, substituindo pelo endereço IP que você pegou da seção anterior.
http: ///debug/clip.html
Aqui, você verá uma ferramenta que permite enviar comandos manualmente para a ponte Hue. Se você não entende tudo nesta página, tudo bem. Você só precisa usar essa ferramenta para obter seu nome de usuário da API. Para fazer isso, digite / api /
na caixa URL. Em Corpo da Mensagem, digite "devicetype": "my_hue_app # iphone peter"
substituindo iphone peter
com qualquer descritor que você queira, de preferência um que descreva o dispositivo em que você está usando.
Quando você inserir todas as informações, toque no botão de link na sua ponte Hue. Este é um passo de segurança para garantir que apenas você ou alguém dentro de sua casa possa criar aplicativos para controlar suas luzes. Depois de pressionar o botão de link na ponte, clique em POST.
Na caixa Resposta do Comando, você deve ver um resultado parecido com o abaixo (menos o borrão do censor, naturalmente). Você receberá um nome de usuário longo e aleatório. Copie isso para baixo e salve-o. Você precisará disso para o script mais tarde.
Agora que você tem essas duas informações, você está pronto para configurar seu script!
Como configurar o script AutoHotkey
Como mencionei anteriormente, para este guia, estamos usando uma versão modificada deste script do redditor tarrosion. Nós ajustamos para adicionar atalhos para que você possa ligar e desligar um grupo de luzes ao mesmo tempo em vez de todas as luzes da sua casa. Aqui estão as seguintes teclas de atalho que você poderá usar com este script:
- Ctrl + Alt + L: Ative ou desative todas as luzes.
- Ctrl + Alt + I: Apague todas as luzes.
- Ctrl + Alt + O: Ativar o grupo atual de luzes.
- Ctrl + Alt + I: Desligue o grupo atual de luzes.
- Ctrl + Alt + 1: Mude para o Grupo 1.
- Ctrl + Alt + 2: Mudar para o Grupo 2.
- Ctrl + Alt + Up: Aumente o calor do grupo de luzes atual (requer lâmpadas coloridas ou de ambiente).
- Ctrl + Alt + Down: Diminua o calor do grupo de luzes atual (requer lâmpadas coloridas ou de ambiente).
- Ctrl + Alt + Esquerda: Aumentar o brilho do grupo atual de luzes.
- Ctrl + Alt + Direita: Diminuir o brilho do grupo atual de luzes.
Você pode criar ou modificar quantos grupos de luzes forem necessários. Para este exemplo, criei dois grupos de duas luzes cada: uma para um escritório e outra para a sala de estar. Você pode alterar os nomes deles como achar melhor. Você também pode precisar alterar os valores de cada grupo, dependendo de quantas luzes você tem.
Primeiro, copie o script abaixo em um documento do Bloco de Notas e salve-o como algo como “huelights.ahk”, certificando-se de substituir a extensão .txt por .ahk. Sem isso, o Bloco de Notas salvará o arquivo como um arquivo .txt e o AutoHotkey não poderá executá-lo.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 office: = [1,2] sala de estar: = [3,4] curgroup: = office
lightoff (luz, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // luzes /". luz. "/ estado", 0) bodytext = "on": false WinHTTP.Send (bodytext) return lighton (luz, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // luzes /". luz. "/ estado", 0) bodytext = "on": true WinHTTP.Send (bodytext) retorno setlightct (luz, newct, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // luzes /". luz. "/ estado", 0) bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifylightct (luz, quantidade, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // luzes /". luz "/ state", 0) bodytext = "ct_inc":% amount%, "tempo de transição": 2 WinHTTP.Send (bodytext) modifylightbrightness (luz, quantidade, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ estado", 0) bodytext = "bri_inc":% amount%, "tempo de transição": 2 WinHTTP.Send (bodytext); ctrl-alt -1: muda para o grupo 1 ^! 1 :: curgroup: = retorno do escritório; ctrl-alt-2: muda para o grupo 2 ^! 2 :: curgroup: = retorno da sala de estar; l-alt-o: liga as luzes do grupo on ^! o :: for _, ilumina-se em grupo curgroup (luz, WinHTTP) retorna; ctrl-alt-i: desliga as luzes do grupo ^! i :: for _, light in curgroup lightoff (light, WinHTTP) return; ctrl-alt-l: alterna todas as luzes ^! l :: WinHTTP.Open ("PUT", "http: //// api // groups / 0 / action", 0) se lightsOn > 0 bodytext = "on": false outra bodytext = "on": true WinHTTP.Send (bodytext). LightsOn: = 1 - lightsOn return; ctrl-alt-k: todas as luzes apagadas ^! k :: WinHTTP.Open ("PUT", "http: //// api // groups / 0 / action", 0) bodytext = "on": falso WinHTTP .Send (bodytext) lightsOn: = 0 retorno; ctrl-alt-Up: aumenta o calor do grupo de luzes atual ^! Up :: para _, luz em modgroup curl modifylightct (luz, 43, WinHTTP) return; ctrl-alt-Down: diminua o calor do grupo de luzes atual ^! Down :: para _, luz em curgroup modifylightct (luz, -43, WinHTTP) return; ctrl-alt-Left: aumenta o brilho do grupo de luz ^! Left :: for _, light em curgroup modifylightbrightness (luz, -32, WinHTTP) retorno; ctrl-alt-Right: diminuir o brilho do grupo de luz ^! Right :: for _, luz em curgroup modifylightbrightness (luz, 32, WinHTTP) retorno
Agora, você precisará fazer alguns ajustes. Primeiro, no script, mude cada instância de para o endereço IP que você obteve da sua ponte anteriormente. Em seguida, substitua
com seu nome de usuário da API da Matiz. Deve haver sete instâncias de cada no script acima.
Em seguida, você verá uma seção no topo que define os grupos que você pode controlar. Essa seção é assim:
office: = [1,2] sala de estar: = [3,4]
As duas primeiras linhas definem seus grupos de luzes. Cada bulbo é atribuído a um número, embora nem sempre seja óbvio a que número cada uma das suas luzes corresponde. A maneira mais fácil de verificar é abrir o aplicativo do Hue e tocar em Configurações, depois tocar em Light Setup.
Aqui, você verá uma lista de todas as suas luzes. Conte cada um deles para descobrir qual o número de suas luzes. Por exemplo, as duas luzes no meu escritório estão no topo, então elas seriam 1 e 2. Abaixo estão as luzes da minha sala, então elas devem ter 3 e 4. Se você removeu e adicionou novas luzes da sua configuração , esses números podem mudar um pouco, então teste seus scripts e use um pouco de tentativa e erro para ter certeza de que você está usando as luzes certas.
Depois de encontrar os números que correspondem às suas luzes, altere-os nas duas linhas acima. Você também pode alterar o nome de cada um dos grupos, se quiser. Apenas certifique-se de mudar cada instância do nome desse grupo no script. Se você quiser adicionar um terceiro grupo (ou mais), crie uma nova linha abaixo dos dois primeiros usando o seguinte formato, substituindo X, Y pelos números das luzes que você deseja adicionar a esse grupo:
nome da sala : = [X, Y]
Você também precisará adicionar outro atalho para poder mudar para o terceiro grupo. Selecione o seguinte bloco de texto no script acima e faça uma cópia dele abaixo deste bloco de texto, alterando todos os 2s para 3s e alterando “livingroom” (ou qualquer nome que você tenha dado ao seu segundo grupo) para o nome do terceiro grupo:
; ctrl-alt-2: muda para o grupo 2 ^! 2 :: curgroup: = retorno da sala de estar
Se você estiver familiarizado com o AutoHotkey, poderá ajustar esse script ainda mais para adicionar novos atalhos ou controlar suas luzes de maneiras diferentes. Confira a documentação do AutoHotkey se precisar de ajuda. Você também pode conferir a API Philips Hue aqui para mais comandos que você pode integrar em seu script.