Объедините Philips Hue, HomeKit и музыку (iTunes или Spotify)

Впервые использую HomeKit здесь.

У меня есть Philips Hue, и с помощью Siri (HomeKit) я активирую различные сцены/окружения своим голосом, что действительно здорово.

Я хотел бы сделать еще один шаг вперед...

В WWDC я вижу, что в отношении HomeKit мы можем использовать термостаты, вентиляторы, освещение, двери, шторы, переключатели, сигнализацию, датчики... Но я вижу, что отсутствует ключевой элемент для создания атмосферы: музыка.

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

Что мне нужно сделать?

Нужно ли мне создавать собственное приложение, использующее HomeKit и Spotify API или Apple Music API?

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

Любое предложение? Это было бы круто.


person Ricardo    schedule 02.05.2016    source источник


Ответы (2)


Вы можете довольно легко сделать это с помощью AppleScript (если вы используете Macintosh, то есть...). Вот пример кода AppleScript, с которого вы можете начать. (Вставьте этот код в окно редактора сценариев.)

-- define baseUrl to point to your Hue hub address and one of the keys in your whitelist
set baseUrl to " http://YOUR-HUB-IP/api/YOUR-WHITELIST-ENTRY"

-- read the info about light 1
set lightJson to do shell script "curl " & baseUrl & "/lights/1"

-- define some JSON to set a light state
set lightStateOn to the quoted form of " {\"on\": true,\"bri\": 254,\"hue\": 8000,\"sat\": 254} "

-- send the JSON to set a light state (on and with specified hue, saturation, and brightness)
do shell script "curl --request PUT --data " & lightStateOn & baseUrl & "/lights/1/state/"

tell application "Spotify"
    play track "spotify:track:3AhXZa8sUQht0UEdBJgpGc"
end tell

set lightStateOff to the quoted form of "{\"on\": false}"
do shell script "curl --request PUT --data " & lightStateOff & baseUrl & "/lights/1/state/"

Отредактируйте baseUrl, чтобы включить реальный IP-адрес вашего концентратора и один из ключей в белом списке (пользователей) из JSON-файла вашего концентратора.

Затем напишите команду curl, чтобы получить или отправить JSON в концентратор, который изменяет ваши источники света.

Наконец, и Spotify, и iTunes поддерживают сценарии, поэтому вы можете указать им воспроизводить песни, плейлисты и т. д. См. http://dougscripts.com/, чтобы узнать больше о написании сценариев iTunes.

Вы также можете сделать это на других языках и платформах, в зависимости от вашего оборудования и навыков. Синтаксис будет другим, но стратегия будет похожей: отправьте команды для управления концентратором оттенков, а затем отправьте другие команды для управления музыкальным проигрывателем.

person Ron Reuter    schedule 02.05.2016
comment
Большое спасибо. Это звучит очень интересно. Я собираюсь попробовать это. Только один вопрос, как хаб информирует мой мак (чтобы запустить музплеер)? Я имею в виду, этот скрипт вызывается несколько раз в секунду? (занят-ожидание). Потому что, насколько я знаю, REST API — это только одно направление (клиент-сервер), прерываний нет. Не могли бы вы уточнить это, пожалуйста? (Обратите внимание, что мне еще предстоит изучить скрипт и Hue API) - person Ricardo; 02.05.2016
comment
Все эти команды выполняются на вашем Mac. Команды curl сообщают концентратору, что делать, а команды Spotify сообщают игроку, что делать. Вы координируете состояние хаба (свет) и плеера (музыка), отправляя нужные команды в нужное время. В то время как в примере просто устанавливается один свет и воспроизводится одна песня, вы, вероятно, захотите указать оттенку активировать сцену для управления несколькими источниками света и попросить Spotify воспроизвести список воспроизведения, чтобы получить более одной песни. Вы также можете тестировать свои команды Hue на основе JSON в интерактивном режиме, используя файл debug/clip.html, который находится в вашем концентраторе и задокументирован на веб-сайте Hue. - person Ron Reuter; 02.05.2016

Я столкнулся с той же проблемой, поэтому решил разработать собственное приложение. На самом деле, это приложение для Mac, которое подключается к вашему настольному приложению Spotify с помощью AppleScript и извлекает API Spotify, чтобы идеально синхронизировать свет с музыкой. Это просто, но очень точно и совершенно бесплатно:

https://itunes.apple.com/fr/app/lightshow/id1217138942?l=en&mt=12

person Nicolas Anjoran    schedule 23.05.2017