Как управлять подсветкой Philips Hue с помощью сочетаний клавиш
Возможность умного включения и выключения вашего голоса - одна из лучших особенностей умного дома. Если у вас нет Amazon Echo или Google Home, хотя вы предпочитаете сочетания клавиш, вы можете использовать скрипт AutoHotkey для управления подсветкой Philips Hue с компьютера..
Для этого руководства мы будем использовать AutoHotkey, удивительную небольшую программу, которая позволяет вам писать собственные сценарии автоматизации и даже переназначать клавиши на клавиатуре. Если вы не знакомы с AutoHotkey или вам нужно загрузить его на свой компьютер с Windows, ознакомьтесь с нашим руководством для начинающих здесь.
Что вам нужно
Мы собираемся показать вам базовый сценарий, который вы можете использовать для включения и выключения набора источников света (который вы можете настроить позже). Прежде чем мы это сделаем, вам нужно несколько вещей.
- Машина Windows с установленным AutoHotkey: Если вы этого еще не сделали, вы можете скачать AutoHotkey здесь. К сожалению, он доступен только для компьютеров с Windows. Приложение будет работать в фоновом режиме и интерпретировать созданные вами сценарии (обычно в таких программах, как «Блокнот»)..
- Ваш Philips Hue Bridge IP-адрес: Вам нужно будет ввести IP-адрес вашего моста в сценарий, чтобы он работал. Мы расскажем вам, как найти эту информацию ниже.
- Имя пользователя Philips Hue Developer API: Используемый нами скрипт также использует API разработчика. Чтобы использовать его, вам необходимо иметь учетную запись и знать имя пользователя API разработчика. Еще раз, мы покажем вам, как получить учетную запись и найти свой идентификатор ниже.
- Скрипт AutoHotkey: В следующем большом разделе ниже у нас будет сценарий, на котором мы основываем это руководство. Пользователь tardit из Reddit создал шаблон, на котором мы будем основывать свой шаблон, если вы хотите углубиться в него. Тем не менее, мы внесли изменения в этот скрипт, чтобы упростить его. Скопируйте скрипт из раздела ниже, вставьте его в пустой документ «Блокнот», а затем сохраните его под именем
hueshortcut.ahk
.
Если вы уже знаете свой IP-адрес моста и имя пользователя API, то можете пропустить.
Как найти IP-адрес вашего моста
IP-адрес вашего моста относительно просто найти. Перейдите по этой ссылке и войдите в свою учетную запись Philips Hue.
Вверху страницы нажмите Мост.
Нажмите кнопку «Показать больше деталей моста».
Запишите свой внутренний IP-адрес. Вам это понадобится позже.
Держись за это для следующего раздела.
Как получить Hue Developer API аккаунт
Если у вас еще нет учетной записи Hue Developer или вы забыли свое имя пользователя API, вам необходимо получить его сейчас. Эта часть немного сложнее, но если вам удобно использовать несколько текстовых команд, все должно быть просто. Начните с заголовка здесь и создания новой учетной записи разработчика с Hue.
Вы получите электронное письмо с просьбой подтвердить вашу учетную запись и создать пароль. Как только это будет сделано, перейдите по следующему URL-адресу, заменив его IP-адресом, который вы выбрали в предыдущем разделе..
Http: ///debug/clip.html
Здесь вы увидите инструмент, который позволяет вам вручную отправлять команды на ваш мост Hue. Если вы не все понимаете на этой странице, все в порядке. Вам нужно только использовать этот инструмент, чтобы получить имя пользователя API. Для этого введите / API /
в поле URL. Под телом сообщения введите "devicetype": "my_hue_app # iphone peter"
замена Iphone Питер
с любым дескриптором, который вы хотите, предпочтительно тот, который описывает устройство, на котором вы его используете.
Когда вы введете всю информацию, нажмите кнопку ссылки на мосту Hue. Это шаг безопасности, чтобы убедиться, что только вы или кто-то в вашем доме могут создавать приложения для управления вашим светом. После того, как вы нажали кнопку ссылки на вашем мосту, нажмите POST.
В поле Command Response вы должны увидеть результат, похожий на приведенный ниже (естественно, за вычетом размытия цензора). Вам будет дано длинное рандомизированное имя пользователя. Скопируйте это куда-нибудь и сохраните. Это понадобится вам для сценария позже.
Теперь, когда у вас есть эти две части информации, вы готовы настроить скрипт!
Как настроить скрипт AutoHotkey
Как я уже упоминал ранее, для этого руководства мы используем модифицированную версию этого скрипта от tarrod Redditor. Мы настроили его, чтобы добавить ярлыки, чтобы вы могли включать и выключать группу источников света сразу вместо каждого источника света в вашем доме. Вот следующие горячие клавиши, которые вы сможете использовать с этим сценарием:
- 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 + Down: Уменьшить теплоту текущей группы источников света (требуются лампы цвета или Ambiance).
- Ctrl + Alt + Left: Увеличить яркость текущей группы источников света.
- Ctrl + Alt + Right: Уменьшить яркость текущей группы источников света.
Вы можете создать или изменить столько групп источников света, сколько вам нужно. Для этого примера я создал две группы из двух источников света в каждой: одну для офиса и одну для гостиной. Вы можете изменить их названия по своему усмотрению. Вам также может понадобиться изменить значения каждой группы в зависимости от того, сколько источников света у вас есть..
Сначала скопируйте приведенный ниже скрипт в документ «Блокнот» и сохраните его как что-то вроде «huelights.ahk», убедившись, что расширение .txt заменено на .ahk. Без этого Блокнот сохранит его как текстовый файл, и AutoHotkey не сможет его запустить..
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 офис: = [1,2] гостиная: = [3,4] группа: = офис
lightoff (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, сумма, 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: перейти в группу 1 ^! 1 :: curgroup: = возвращение в офис; ctrl-alt-2: перейти в группу 2 ^! 2 :: curgroup: = возврат в гостиную; ctr l-alt-o: включить подсветку группы ^! o :: for _, подсветка в curgroup lighton (light, WinHTTP) return; ctrl-alt-i: выключить подсветку группы ^! i :: for _, подсветка в curgroup lightoff (light, WinHTTP) return; ctrl-alt-l: переключить все источники света ^! l :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0), если lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - возвращение lightsOn; ctrl-alt-k: все индикаторы выключены ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP .Send (bodytext) lightsOn: = 0 return; ctrl-alt-Up: увеличить теплоту текущей группы источников света ^! Up :: for _, источник света в curgroup modifylightct (light, 43, WinHTTP) return; ctrl-alt-Down: уменьшить теплоту текущей группы источников света ^! Down :: for _, источник света в curgroup modifylightct (light, -43, WinHTTP) return; ctrl-alt-Left: увеличить яркость группы источников света ^! Left :: for _, источник света в curgroup modifylightbrightness (light, -32, WinHTTP) return; ctrl-alt-Right: уменьшить яркость группы освещения ^! Right :: for _, свет в curgroup. modifylightbrightness (light, 32, WinHTTP) return
Теперь вам нужно сделать пару настроек. Во-первых, в скрипте измените каждый экземпляр на IP-адрес, который вы получили с вашего моста ранее. Далее заменить
с вашим именем пользователя Hue API. Там должно быть семь экземпляров каждого в сценарии выше.
Далее вы увидите раздел вверху, который определяет группы, которыми вы можете управлять. Этот раздел выглядит так:
офис: = [1,2] гостиная: = [3,4]
Первые две строки определяют ваши группы источников света. Каждой лампочке присваивается номер, хотя не всегда очевидно, какому номеру соответствует каждый из ваших огней. Самый простой способ проверить это - открыть приложение Hue и нажать «Настройки», затем нажать «Настройка освещения»..
Здесь вы увидите список всех ваших огней. Посчитайте каждый вниз, чтобы выяснить, какое число у вас. Например, два светильника в моем офисе находятся сверху, поэтому они должны быть 1 и 2. Ниже находятся огни моей гостиной, поэтому они должны быть 3 и 4. Если вы удалили и добавили новые источники света из своей установки эти цифры могут немного сместиться, поэтому протестируйте свои сценарии и используйте небольшую пробную версию, чтобы убедиться, что вы используете правильные источники света.
Как только вы нашли числа, которые соответствуют вашим огням, измените их в двух строках выше. Вы также можете изменить имя каждой из групп, если хотите. Просто не забудьте изменить каждый экземпляр этого имени группы в сценарии. Если вы хотите добавить третью группу (или более), создайте новую строку под первыми двумя, используя следующий формат, заменив X, Y номерами источников света, которые вы хотите добавить в эту группу:
название комнаты : = [X, Y]
Вам также нужно добавить еще один ярлык, чтобы перейти в третью группу. Выделите следующий текстовый блок в приведенном выше сценарии и сделайте его копию под этим текстовым блоком, изменив все 2 на 3 и изменив «гостиную» (или любое другое имя, которое вы дали своей второй группе) на имя третьей группы:
; ctrl-alt-2: перейти в группу 2 ^! 2 :: curgroup: = возвращение из гостиной
Если вы знакомы с AutoHotkey, вы можете еще больше настроить этот скрипт, чтобы добавлять новые ярлыки или управлять своими источниками света различными способами. Проверьте документацию AutoHotkey, если вам нужна помощь. Вы также можете проверить API Philips Hue здесь, чтобы узнать больше команд, которые вы можете интегрировать в ваш скрипт.