Как да контролирате Philips Hue Lights с клавишни комбинации
Да бъдеш в състояние да включиш и изключиш светлините с гласа си е една от най-добрите неща за интелигентния дом. Ако нямате Amazon Echo или Google Home, въпреки това - или просто предпочитате клавишни комбинации - можете да използвате скрипт на AutoHotkey, за да управлявате светлините на Philips Hue от компютъра си.
За това ръководство ще използваме AutoHotkey, невероятна малка програма, която ви позволява да пишете потребителски скриптове за автоматизация и дори да пренасочвате клавишите на клавиатурата. Ако не сте запознати с AutoHotkey или трябва да го изтеглите на вашата машина на Windows, вижте ръководството за начинаещи тук.
Какво ви трябва
Ще ви покажем основен скрипт, който можете да използвате, за да включите или изключите набор светлини (които можете да персонализирате по-късно). Преди да направим това, ще ви трябват няколко неща.
- Машина с Windows с инсталирана AutoHotkey: Ако още не сте го направили, можете да изтеглите AutoHotkey тук. За съжаление е достъпна само за машини с Windows. Приложението ще работи във фонов режим и ще интерпретира създадените от вас скриптове (обикновено в програма като Notepad).
- Вашият IP адрес на моста Philips Hue Bridge: Ще трябва да въведете IP адреса на моста в скрипта, за да работи. Ще ви разгледаме как да намерите тази информация по-долу.
- Потребителско име на API за програмисти на Philips Hue: Скриптът, който използваме, също използва API за разработчици. За да се възползвате от нея, трябва да имате профил и да знаете потребителското си име за API за програмисти. Още веднъж ще ви покажем как да получите сметка и да намерите вашия идентификационен номер по-долу.
- Скриптът за автоматична клавиша: В следващия голям раздел по-долу ще имаме скрипта, от който се основава това ръководство. Reddit user tarrosion създаде шаблон, с който ще се базираме тук, ако искате да се потопите малко по-дълбоко. Въпреки това, ние сме променяли този скрипт, за да го опростим. Копирайте скрипта от раздела по-долу, поставете го в празен документ на Notepad и го запишете с име като
hueshortcut.ahk
.
Ако вече знаете IP адреса на моста и потребителското име на API, можете да прескочите напред.
Как да намерите вашия IP адрес на Bridge
Вашият IP адрес на моста е сравнително лесен за намиране. Отидете на тази връзка и влезте в акаунта на Philips Hue.
В горната част на страницата кликнете върху Bridge.
Кликнете върху бутона „Покажи повече подробности за моста“.
Забележете вътрешния си IP адрес. Ще ви потрябва по-късно.
Задържайте това за следващия раздел.
Как да получите акаунт на Hue Developer API
Ако все още нямате профил на програмист от Hue или сте забравили потребителското си име за API, трябва да го получите сега. Тази част е малко по-сложна, но ако ви е удобно да използвате няколко текстови команди, то трябва да е лесно. Започнете от тук и създайте нов профил на разработчик с Hue.
Ще получите имейл с молба да потвърдите профила си и да създадете парола. След като свършите, отидете на следния URL адрес, като замените с IP адреса, който сте взели от предишния раздел.
HTTP: ///debug/clip.html
Тук ще видите инструмент, който ви позволява ръчно да изпращате команди към моста Hue. Ако не разбирате всичко на тази страница, това е добре. Трябва само да използвате този инструмент, за да получите потребителското си име за API. За да направите това, влезте / API /
в полето URL. Под Тело на съобщението въведете "devicetype": "my_hue_app # iphone peter"
заменяйки iphone Питър
с какъвто и дескриптор искате, за предпочитане такъв, който описва устройството, на което го използвате.
Когато въведете цялата информация, натиснете бутона за връзка на моста Hue. Това е стъпка за сигурност, за да сте сигурни, че само вие или някой в дома ви може да създавате приложения за управление на светлините. След като натиснете бутона за връзка на моста, кликнете върху POST.
В полето Command Response трябва да видите резултат, който прилича на този по-долу (минус естественото размазване на цензурата). Ще ви бъде дадено дълго, случайно потребителско име. Копирайте това някъде и го запазете. По-късно ще ви трябва за скрипта.
Сега, след като разполагате с тези две части, сте готови да настроите скрипта си!
Как да настроите скрипта на AutoHotkey
Както споменах по-рано, за това ръководство използваме модифицирана версия на този скрипт от redditor tarrosion. Направихме го, за да добавим преки пътища, за да включите и изключите група светлини наведнъж, вместо всяка светлина в къщата. Ето следните клавишни комбинации, които ще можете да използвате с този скрипт:
- Ctrl + Alt + L: Включете или изключете всички светлини.
- Ctrl + Alt + I: Изключете всички светлини.
- Ctrl + Alt + O: Включете текущата група светлини.
- Ctrl + Alt + I: Изключете текущата група светлини.
- Ctrl + Alt + 1: Превключване към група 1.
- Ctrl + Alt + 2: Превключване към група 2.
- Ctrl + Alt + Up: Увеличете топлината на текущата група светлини (изискват крушки с цвят или цвят Ambiance).
- Ctrl + Alt + надолу: Намалете топлината на текущата група светлини (изискват крушки с цвят или цвят Ambiance).
- Ctrl + Alt + Left: Увеличете яркостта на текущата група светлини.
- Ctrl + Alt + Дясно: Намалете яркостта на текущата група светлини.
Можете да създавате или променяте толкова групи светлини, колкото ви е необходимо. За този пример създадох две групи по две светлини: по една за офис и една за дневната. Можете да промените имената на тези, каквито смятате за подходящи. Може също да се наложи да промените стойностите на всяка група в зависимост от това колко светлини имате.
Първо, копирайте скрипта по-долу в документ на Notepad и го запишете като нещо като “huelights.ahk”, като се уверите, че подменете разширение .txt с .ahk. Без него, Notepad ще го запази като .txt файл и AutoHotkey няма да може да го стартира.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 офис: = [1,2] дневна: = [3,4] curgroup: = office
lightoff (светлина, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // осветление /". светлина. "/ state", 0) bodytext = "on": false WinHTTP.Send (bodytext) връщане светлина (светлина, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // светлини /". светлина. "/ състояние", 0) bodytext = "on": true WinHTTP.Send (bodytext) return setlightct (светлина, новост, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // светлини /". светлина. "/ състояние", 0) bodytext = "ct":% newct% WinHTTP.Предаване (bodytext) модифициране (светлина, сума, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". . "/ state", 0) bodytext = "ct_inc":% amount%, "transitiontime": 2 WinHTTP.Предаване (bodytext) modifylightbrightness (светлина, сума, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // осветление /". светлина. "/ състояние", 0) bodytext = "bri_inc":% amount%, "transitiontime": 2 WinHTTP.Send (bodytext); ctrl-alt -1: промяна в група 1 ^! 1 :: curgroup: = office return; ctrl-alt-2: промяна в група 2 ^! 2 :: curgroup: = завръщане в хола; ctr l-alt-o: включете осветлението на групата на ^! o :: за _, светлина в lightgroup (light, WinHTTP), ctrl-alt-i: изключете осветлението на групата ^! i :: за _, светлина в групата lightoff (light, WinHTTP) return; ctrl-alt-l: превключва всички светлини ^! 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 - светлини На връщане; ctrl-alt-k: всички светлини са изключени ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP Изпрати (bodytext) lightsOn: = 0 return; ctrl-alt-Up: увеличава топлината на текущата светлинна група ^! Up :: for _, светлина в curgroup modifylightct (светлина, 43, WinHTTP) return; ctrl-alt-Down: намали топлината на текущата светлинна група ^! Down :: за _, светлина в curgroup modifylightct (светлина, -43, WinHTTP) връщане; ctrl-alt-ляво: увеличаване на яркостта на светлата група ^! наляво :: за _, светлина в група modifylightbrightness (светлина, -32, WinHTTP) връщане; ctrl-alt-Дясно: намаляване на яркостта на светлата група ^! надясно :: за _, светлина в групата modifylightbrightness (светлина, 32, WinHTTP)
Сега ще трябва да направите няколко корекции. Първо, в скрипта, променете всяко копие на до IP адреса, който сте получили от вашия мост по-рано. След това сменете
с потребителското име на API на Hue. В горния скрипт трябва да има седем екземпляра.
След това в горната част ще видите раздел, който определя групите, които можете да контролирате. Този раздел изглежда така:
офис: = [1,2] дневна: = [3,4]
Първите две линии определят вашите групи светлини. На всяка крушка се присвоява номер, макар че не винаги е очевидно с кой номер съответства всеки от вашите светлини. Най-лесният начин да проверите е да отворите приложението Hue и да натиснете Настройки, след което да докоснете Light Setup.
Тук ще видите списък на всичките ви светлини. Пребройте всеки един надолу, за да разберете кой номер са вашите светлини. Например, двете светлини в офиса ми са на върха, така че те ще бъдат 1 и 2. Под това са моите светлини в хола, така че тези трябва да са 3 и 4. Ако сте премахнали и добавили нови светлини от настройката си тези цифри могат да се изместят малко, така че тествайте скриптовете си и използвайте малко пробни и грешки, за да сте сигурни, че използвате правилните светлини.
След като откриете числата, които съответстват на вашите светлини, променете ги в двете линии по-горе. Можете също да промените името на всяка от групите, ако искате. Просто не забравяйте да промените всеки случай от това име на групата в скрипта. Ако искате да добавите трета група (или повече), създайте нов ред под първите два, като използвате следния формат, като замените X, Y с номерата на светлините, които искате да добавите към тази група:
roomname : = [X, Y]
Също така ще трябва да добавите друг пряк път, за да можете да промените третата група. Изберете следния блок от текста в скрипта по-горе и направете копие от него под този текстов блок, като промените всички 2s на 3s и променете „всекидневната“ (или каквото и да е името, което сте дали на втората група) на името на третата група:
; ctrl-alt-2: промяна в група 2 ^! 2 :: curgroup: = завръщане в хола
Ако сте запознати с AutoHotkey, можете да настроите този скрипт още повече, за да добавяте нови преки пътища или да контролирате светлините по различни начини. Проверете документацията на AutoHotkey, ако имате нужда от помощ. Можете също така да проверите API Hue API тук за повече команди, които можете да интегрирате в скрипта си.