Как управлять подсветкой Philips Hue с помощью сочетаний клавиш

Возможность умного включения и выключения вашего голоса – одна из лучших вещей в умном доме. Если у вас нет Amazon Echo или Google Home, хотя вы предпочитаете сочетания клавиш, вы можете использовать скрипт AutoHotkey для управления подсветкой Philips Hue с компьютера.

В этом руководстве мы будем использовать удивительную небольшую программу AutoHotkey, которая позволяет писать собственные сценарии автоматизации и даже переназначать клавиши на клавиатуре. Если вы не знакомы с AutoHotkey или вам нужно загрузить его на свой компьютер с Windows, ознакомьтесь с нашим руководством для начинающих здесь.

Что вам нужно

Мы покажем вам базовый сценарий, который вы можете использовать для включения и выключения набора источников света (который вы можете настроить позже). Прежде чем мы это сделаем, вам понадобится несколько вещей.

  • Машина Windows с установленным AutoHotkey: Если вы этого еще не сделали, вы можете загрузить AutoHotkey здесь. К сожалению, он доступен только для компьютеров Windows. Приложение будет работать в фоновом режиме и интерпретировать созданные вами сценарии (обычно в таких программах, как «Блокнот»).
  • Ваш IP-адрес Philips Hue Bridge . Чтобы он работал, вам нужно ввести IP-адрес вашего моста в сценарий. Мы расскажем вам, как найти эту информацию ниже.
  • Имя пользователя Philips Hue Developer API: Используемый нами скрипт также использует API разработчика. Чтобы использовать его, вам необходимо иметь учетную запись и знать свое имя пользователя API разработчика. Еще раз, мы покажем вам, как получить учетную запись и найти ваш идентификатор ниже.
  • Сценарий AutoHotkey . В следующем большом разделе ниже мы рассмотрим сценарий, на котором мы основываем это руководство. Пользователь Reddit tarrosion создал шаблон, который мы будем использовать здесь, если вы хотите погрузиться немного глубже. Тем не менее, мы внесли изменения в этот скрипт, чтобы упростить его. Скопируйте сценарий из раздела ниже, вставьте его в пустой документ «Блокнот», а затем сохраните его с именем, например 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 peter любым желаемым дескриптором, предпочтительно тем, который описывает устройство, которое вы используете это на.

Когда вы введете всю информацию, нажмите кнопку ссылки на мосту 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: увеличить теплоту текущей группы источников света (требуются цветные или светящиеся лампы).
  • 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]
curgroup: = office  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, 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: перейти в группу 1 ^! 1 :: curgroup: = возвращение в офис; ctrl-alt-2: перейти в группу 2 ^! 2 :: curgroup : = возврат в гостиную; ctrl-alt-o: включить подсветку группы ^! o :: for _, подсветка в curgroup возврат lighton (light, WinHTTP); ctrl-alt-i: выключить подсветку группы ^! i :: for _, источник света в curgroup 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 - возвращение 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. В приведенном выше сценарии должно быть семь экземпляров каждого.

Далее вы увидите раздел вверху, который определяет группы, которыми вы можете управлять. Этот раздел выглядит так:

 office: = [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 здесь, чтобы узнать больше команд, которые вы можете интегрировать в ваш скрипт.

Оцените статью
TutoryBird.Ru
Добавить комментарий