
목소리로 조명을 켜고 끄는 것은 스마트 홈을 갖는 가장 좋은 것 중 하나입니다. 그러나 Amazon Echo 또는 Google Home이 없거나 키보드 단축키를 선호하는 경우 AutoHotkey 스크립트를 사용하여 컴퓨터에서 Philips Hue 조명을 제어 할 수 있습니다.
관련 : 오토 핫키 스크립트 사용을위한 초보자 안내서
이 가이드에서는 사용자 지정 자동화 스크립트를 작성하고 키보드에서 키를 다시 매핑 할 수있는 놀라운 작은 프로그램 인 AutoHotkey를 사용합니다. 오토 핫키에 익숙하지 않거나 Windows 컴퓨터에 다운로드해야하는 경우 여기 초보자 가이드를 확인하십시오.
필요한 것
조명 세트를 켜고 끄는 데 사용할 수있는 기본 스크립트를 보여 드리겠습니다 (나중에 사용자 지정할 수 있음). 그렇게하기 전에 몇 가지가 필요합니다.
- AutoHotkey가 설치된 Windows 시스템 : 아직 오토 핫키를 다운로드하지 않은 경우 여기에서 다운로드 할 수 있습니다. 불행히도 Windows 시스템에서만 사용할 수 있습니다. 응용 프로그램은 백그라운드에서 실행되며 사용자가 만든 스크립트 (일반적으로 메모장과 같은 프로그램에서)를 해석합니다.
- 필립스 Hue Bridge IP 주소 : Bridge의 IP 주소를 스크립트에 입력해야 작동합니다. 아래에서이 정보를 찾는 방법을 안내합니다.
- 필립스 Hue 개발자 API 사용자 이름 : 우리가 사용하는 스크립트는 개발자 API도 사용합니다. 이를 사용하려면 계정이 있어야하고 개발자 API 사용자 이름을 알아야합니다. 다시 한 번 계정을 만드는 방법과 아래에서 ID를 찾는 방법을 알려 드리겠습니다.
-
오토 핫키 스크립트 : 아래 큰 섹션에서는이 가이드를 기반으로하는 스크립트를 제공합니다. Reddit 사용자 tarrosion은 좀 더 깊이 다이빙하고 싶다면 여기에서 우리를 기반으로 할 템플릿을 만들었습니다. 그러나이 스크립트를 단순화하기 위해 조정했습니다. 아래 섹션에서 스크립트를 복사하여 빈 메모장 문서에 붙여 넣은 후 다음과 같은 이름으로 저장하십시오.
hueshortcut.ahk.
브리지 IP 주소와 API 사용자 이름을 이미 알고 있다면 건너 뛸 수 있습니다.
브리지 IP 주소를 찾는 방법
브리지 IP 주소는 비교적 찾기 쉽습니다. 이 링크로 이동하여 Philips Hue 계정에 로그인하십시오.

페이지 상단에서 브리지를 클릭합니다.

“브릿지 세부 사항 더보기”버튼을 클릭하십시오.

내부 IP 주소를 기록해 두십시오. 나중에 필요할 것입니다.

다음 섹션을 위해 이것에 매 달리십시오.
Hue 개발자 API를 얻는 방법
색조 개발자 계정이 없거나 API 사용자 이름을 잊어 버린 경우 지금 가져와야합니다. 이 부분은 좀 더 복잡하지만 몇 가지 텍스트 명령을 사용하는 것이 편한 경우에는 간단해야합니다. 여기로 가서 Hue로 새로운 개발자 계정을 만드십시오.

계정을 확인하고 비밀번호를 작성하라는 이메일이 발송됩니다. 완료되면 다음 URL로 이동하여
http:///debug/clip.html
여기에 색조 브리지에 수동으로 명령을 보낼 수있는 도구가 있습니다. 이 페이지의 모든 내용을 이해하지 못하면 괜찮습니다. API 사용자 이름을 얻으려면이 도구 만 사용하면됩니다. 그렇게하려면 다음을 입력하십시오. /api/ URL 상자에 메시지 본문에 {"devicetype":"my_hue_app#iphone peter"} 교체 iphone peter 원하는 설명자와 함께 사용하는 기기를 설명하는 것이 좋습니다.
모든 정보를 입력 한 후에는 Hue bridge의 링크 버튼을 탭하십시오. 이는 본인이나 집안 누군가 만 조명을 제어 할 수있는 응용 프로그램을 만들 수 있도록하는 보안 단계입니다. 브리지에서 링크 버튼을 누른 후 POST를 클릭하십시오.

명령 응답 상자에 다음과 같은 결과가 표시됩니다 (자연스럽게 센서 블러를 뺀 것). 무작위로 긴 사용자 이름이 제공됩니다. 이것을 어딘가에 복사하여 저장하십시오. 나중에 스크립트에 필요합니다.

이제이 두 가지 정보가 준비되었으므로 스크립트를 설정할 준비가되었습니다!
AutoHotkey 스크립트를 설정하는 방법
앞에서 언급했듯이이 가이드에서는 수정 자 타 로션에서이 스크립트의 수정 된 버전을 사용하고 있습니다. 집안의 모든 조명 대신 한 번에 조명 그룹을 켜고 끌 수 있도록 바로 가기를 추가하도록 조정했습니다. 이 스크립트와 함께 사용할 수있는 다음 단축키는 다음과 같습니다.
- Ctrl + Alt + L : 모든 조명을 켜거나 끕니다.
- Ctrl + Alt + I : 모든 표시등을 끕니다.
- Ctrl + Alt + O : 현재 조명 그룹을 켭니다.
- Ctrl + Alt + I : 현재 조명 그룹을 끕니다.
- Ctrl + Alt + 1 : 그룹 1로 전환하십시오.
- Ctrl + Alt + 2 : 그룹 2로 전환하십시오.
- Ctrl + Alt + 위쪽 : 현재 조명 그룹의 따뜻함을 높입니다 (컬러 또는 분위기 전구 필요).
- Ctrl + Alt + 아래쪽 : 현재 조명 그룹의 따뜻함을 줄입니다 (컬러 또는 분위기 전구 필요).
- Ctrl + Alt + 왼쪽 : 현재 조명 그룹의 밝기를 높입니다.
- Ctrl + Alt + 오른쪽 : 현재 조명 그룹의 밝기를 줄입니다.
필요한만큼 많은 조명 그룹을 작성하거나 수정할 수 있습니다. 이 예에서는 사무실 용과 거실 용으로 각각 두 개의 조명 그룹을 두 개씩 만들었습니다. 적합하다고 생각되는 이름을 변경할 수 있습니다. 조명의 수에 따라 각 그룹의 값을 변경해야 할 수도 있습니다.
먼저 아래 스크립트를 메모장 문서에 복사하고 .txt 확장자를 .ahk로 바꾸어“huelights.ahk”와 같은 형식으로 저장하십시오. 그렇지 않으면 메모장에서 파일을 .txt 파일로 저장하고 오토 핫키에서 실행할 수 없습니다.
WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1") lightsOn := 1 office := (1,2) livingroom := (3,4) curgroup := officelightoff(light, ByRef WinHTTP) { WinHTTP.Open("PUT", "http:///api/ /lights/" . light . "/state", 0) bodytext = {"on" : false} WinHTTP.Send(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, amount, 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" : %amount%, "transitiontime" : 2} WinHTTP.Send(bodytext) } ;ctrl-alt-1: change to group 1 ^!1:: curgroup := office return ;ctrl-alt-2: change to group 2 ^!2:: curgroup := livingroom return ;ctrl-alt-o: turn group lights on ^!o:: for _, light in curgroup lighton(light, WinHTTP) return ;ctrl-alt-i: turn group lights off ^!i:: for _, light in curgroup lightoff(light, WinHTTP) return ;ctrl-alt-l: toggle all lights ^!l:: WinHTTP.Open("PUT", "http:// /api/ /groups/0/action", 0) if lightsOn > 0 bodytext = {"on" : false} else bodytext = {"on" : true} WinHTTP.Send(bodytext) lightsOn := 1 - lightsOn return ; ctrl-alt-k : all lights off ^!k:: WinHTTP.Open("PUT", "http:// /api/ /groups/0/action", 0) bodytext = {"on" : false} WinHTTP.Send(bodytext) lightsOn := 0 return ;ctrl-alt-Up: increase warmth of current light group ^!Up:: for _, light in curgroup modifylightct(light, 43, WinHTTP) return ;ctrl-alt-Down: decrease warmth of current light group ^!Down:: for _, light in curgroup modifylightct(light, -43, WinHTTP) return ;ctrl-alt-Left: increase brightness of light group ^!Left:: for _, light in curgroup modifylightbrightness(light, -32, WinHTTP) return ;ctrl-alt-Right: decrease brightness of light group ^!Right:: for _, light in curgroup modifylightbrightness(light, 32, WinHTTP) return
이제 몇 가지 조정을 수행해야합니다. 먼저 스크립트에서 모든 인스턴스를 변경하십시오. 이전에 브리지에서 얻은 IP 주소로 다음으로 교체 Hue API 사용자 이름으로 위의 스크립트에는 각각 7 개의 인스턴스가 있어야합니다.
다음으로 제어 할 수있는 그룹을 정의하는 섹션이 상단에 표시됩니다. 해당 섹션은 다음과 같습니다.
office := (1,2) livingroom := (3,4)
처음 두 줄은 조명 그룹을 정의합니다. 각 전구에는 숫자가 할당되어 있지만 각 조명이 어느 숫자에 해당하는지 항상 명확하지는 않습니다. 확인하는 가장 쉬운 방법은 Hue 앱을 열고 설정을 탭한 다음 조명 설정을 탭하는 것입니다.

여기에 모든 조명 목록이 표시됩니다. 조명의 수를 파악하기 위해 각각을 카운트 다운하십시오. 예를 들어, 사무실의 두 표시등이 맨 위에 있으므로 1 so와 2가됩니다. 그 아래에 내 거실 표시등이 있으므로 3과 4가됩니다. 설정에서 새 표시등을 제거하고 추가 한 경우 ,이 숫자는 약간 변경 될 수 있으므로 스크립트를 테스트하고 약간의 시행 착오를 사용하여 올바른 조명을 사용하고 있는지 확인하십시오.

조명에 해당하는 숫자를 찾으면 위의 두 줄에서 변경하십시오. 원하는 경우 각 그룹의 이름을 변경할 수도 있습니다. 변경해야합니다 모든 경우 스크립트에서 해당 그룹 이름. 세 번째 그룹 (또는 그 이상)을 추가하려면 다음 형식을 사용하여 처음 두 그룹 아래에 새 줄을 작성하고 X, Y를 해당 그룹에 추가하려는 조명의 번호로 바꿉니다.
roomname := (X, Y)
또한 세 번째 그룹으로 변경하려면 다른 바로 가기를 추가해야합니다. 위 스크립트에서 다음 텍스트 블록을 선택하고이 텍스트 블록 아래에 사본을 만들어 2에서 3으로 변경하고 “거실”(또는 두 번째 그룹에 지정한 이름)을 세 번째 그룹의 이름으로 변경하십시오.
;ctrl-alt-2: change to group 2 ^!2:: curgroup := livingroom return
오토 핫키에 익숙한 경우이 스크립트를 훨씬 더 조정하여 새로운 바로 가기를 추가하거나 조명을 다른 방식으로 제어 할 수 있습니다. 도움이 필요하면 AutoHotkey 설명서를 확인하십시오. 스크립트에 통합 할 수있는 추가 명령을 보려면 여기에서 Philips Hue API를 확인하십시오.








