Philips Hue Sync Box용 홈브리지 플러그인.
싱크박스는 전구처럼 노출될 수 있습니다. 다음 기능이 지원됩니다:
켜기/끄기
명도
싱크박스는 스위치로 노출될 수 있습니다. 다음 기능이 지원됩니다:
켜기/끄기
다음을 지원하는 추가 TV 액세서리를 활성화할 수도 있습니다.
HDMI 입력 전환
스위칭 모드
스위칭 강도
오락 지역 전환
각 추가 TV 액세서리는 iOS 원격 위젯을 지원합니다.
위/아래: 밝기 변경
왼쪽/오른쪽: 강도 변경
선택(가운데 버튼): 모드 전환
정보 버튼: HDMI 입력 전환
재생/일시 정지: 켜기/끄기 전환
또한 각 TV 액세서리에는 다음을 지원하는 통합 전구가 있을 수 있습니다.
켜기/끄기
명도
중요 : TV 액세서리는 HomeKit에 수동으로 추가해야 하며, 로그에는 추가를 위한 핀이 표시됩니다(플러그인과 동일한 핀이어야 함).
npm을 통해 플러그인을 설치합니다.
npm은 homebridge-philips-hue-sync-box -g를 설치합니다.
Philips Hue Sync Box와 통신하려면 새 자격 증명을 만들어야 합니다.
싱크박스가 켜져 있는지 확인하세요
동기화가 중지되었는지 확인하세요.
https://<SYNC-BOX-IP>/api/v1/registrations
에 대한 HTTP POST 요청을 수행합니다.
요청 본문은 JSON이어야 합니다. { "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
요청에 대한 첫 번째 응답은 { "code": 16, "message": "Invalid State" }
입니다.
중요: 이제 LED가 녹색으로 바뀔 때까지 동기화 상자의 버튼을 길게 클릭하세요. LED가 녹색이 되면 즉시 버튼을 놓으십시오! 다시 흰색으로 바뀌게 됩니다.
즉시 다시 요청하세요.
응답에 accessToken
문자열이 포함되어 있습니다.
힌트:
이를 수행하는 한 가지 방법은 터미널에 다음을 입력하는 것입니다. curl -H "Content-Type: application/json" -X POST -d '{"appName": "homebridge", "appSecret":"MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge"}' https://<SYNC-BOX-IP>/api/v1/registrations
, 대체 <SYNC-BOX-IP>
Sync Box의 IP 주소로 바꿉니다. 인증서 오류로 인해 문제가 발생하는 경우 cURL 명령에 -k
매개변수를 추가합니다.
또 다른 방법은 Postman 과 같은 도구를 사용하는 것입니다. 요청 방법을 POST
로 설정하고 https://<SYNC-BOX-IP>/api/v1/registrations
요청 URL로 입력합니다( <SYNC-BOX-IP>
동기화 상자의 IP 주소로 대체). 그런 다음 "본문" 탭을 열고 유형을 "raw"로 설정한 후 드롭다운에서 콘텐츠 유형으로 "JSON"을 선택합니다. 그런 다음 본문 텍스트 상자에 { "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
입력합니다. 요청을 보내려면 오른쪽 상단의 "보내기" 버튼을 클릭하세요. 인증서 오류로 인해 문제가 발생하는 경우 Postman에서 인증서 확인을 비활성화할 수 있습니다. 전역 설정으로 이동하여 "일반" 탭을 열고 "SSL 인증서 확인" 토글 스위치를 비활성화합니다.
{"플랫폼": [ {"플랫폼": "PhilipsHueSyncBoxPlatform","syncBoxIpAddress": "<SYNC-BOX-IP-ADDRESS>","syncBoxApiAccessToken": "<ACCESS-TOKEN>","defaultOnMode": "비디오","defaultOffMode": " 통과","baseAccessory": "전구","tvAccessory": false,"tvAccessoryType": "tv","tvAccessoryLightbulb": false,"modeTvAccessory": false,"modeTvAccessoryType": "tv","modeTvAccessoryLightbulb": false,"intensityTvAccessory": false,"intensityTvAccessoryType": "tv","intensityTvAccessoryLightbulb": false, "entertainmentTv액세서리": false,"entertainmentTvAccessoryType": "tv","entertainmentTvAccessoryLightbulb": false,"isApiEnabled": false,"apiPort": 40220,"apiToken": "<YOUR-TOKEN>"} ] }
syncBoxIpAddress : Philips Hue 동기화 상자의 IP 주소입니다.
syncBoxApiAccessToken : 등록 중에 받는 액세스 토큰입니다.
defaultOnMode (선택 사항): HomeKit을 통해 동기화 상자를 켤 때 사용되는 모드입니다. 기본값은 video
입니다. 가능한 값은 video
, music
, game
또는 lastSyncMode
입니다.
defaultOffMode (선택 사항): HomeKit을 통해 동기화 상자를 끌 때 사용되는 모드입니다. 기본값은 passthrough
입니다. 가능한 값은 powersave
또는 passthrough
입니다.
baseAccessory (선택 사항): 싱크 박스의 기본 액세서리 유형을 결정합니다. 기본값은 lightbulb
입니다. 가능한 값은 lightbulb
, switch
또는 none
입니다. none
사용하지 않으면 기본 액세서리가 노출되지 않습니다.
tvAccessory (선택 사항): 싱크 박스의 입력을 전환하기 위해 TV 액세서리를 활성화합니다. 기본값은 false
입니다.
tvAccessoryType (선택 사항): Apple 홈 앱이 표시해야 하는 아이콘 유형입니다. 가능한 값은 tv
, settopbox
, tvstick
또는 audioreceiver
입니다. 기본값은 tv
입니다.
tvAccessoryLightbulb (선택 사항): 입력 전환을 위해 TV 액세서리용 통합 전구를 활성화합니다. 기본값은 false
입니다.
modeTvAccessory (선택 사항): 동기화 상자의 모드( video
, music
, game
)를 전환하기 위해 TV 액세서리를 활성화합니다. 기본값은 false
입니다.
modeTvAccessoryType (선택 사항): Apple Home 앱이 표시해야 하는 아이콘 유형입니다. 가능한 값은 tv
, settopbox
, tvstick
또는 audioreceiver
입니다. 기본값은 tv
입니다.
modeTvAccessoryLightbulb (선택 사항): 모드 전환을 위해 TV 액세서리용 통합 전구를 활성화합니다. 기본값은 false
입니다.
IntensityTvAccessory (선택 사항): 동기화 상자의 강도( subtle
, moderate
, high
, intense
)를 전환하기 위해 TV 액세서리를 활성화합니다. 기본값은 false
입니다.
IntensityTvAccessoryType (선택 사항): Apple Home 앱이 표시해야 하는 아이콘 유형입니다. 가능한 값은 tv
, settopbox
, tvstick
또는 audioreceiver
입니다. 기본값은 tv
입니다.
IntensityTvAccessoryLightbulb (선택 사항): 강도 전환을 위해 TV 액세서리용 통합 전구를 활성화합니다. 기본값은 false
입니다.
entertainmentTvAccessory (선택 사항): 싱크 박스의 엔터테인먼트 영역을 전환하기 위해 TV 액세서리를 활성화합니다. 기본값은 false
입니다.
entertainmentTvAccessoryType (선택 사항): Apple Home 앱이 표시해야 하는 아이콘 유형입니다. 가능한 값은 tv
, settopbox
, tvstick
또는 audioreceiver
입니다. 기본값은 tv
입니다.
entertainmentTvAccessoryLightbulb (선택 사항): 엔터테인먼트 영역을 전환하기 위해 TV 액세서리용 통합 전구를 활성화합니다. 기본값은 false
입니다.
isApiEnabled (선택 사항): 동기화 상자를 제어하기 위해 HTTP API를 활성화합니다. 기본값은 false
입니다. 자세한 내용은 API를 참조하세요.
apiPort (선택 사항): API(활성화된 경우)가 실행되는 포트입니다. 기본값은 40220
입니다. 이미 사용 중인 포트의 설정을 변경하세요.
apiToken (선택 사항): API의 각 요청에 포함되어야 하는 토큰입니다. API가 활성화되어 있고 기본값이 없는 경우 필수입니다.
이 플러그인은 또한 동기화 상자의 일부 기능을 제어하기 위한 HTTP API를 제공합니다. HomeKit 단축키를 사용하여 시스템을 더욱 자동화할 수 있도록 만들어졌습니다. iOS 13부터 HomeKit 자동화에 단축키를 사용할 수 있습니다. HomeKit 코디네이터(예: iPad, AppleTV 또는 HomePod)에서 실행되는 자동화는 HTTP 요청도 지원합니다. 즉, HomeKit에 노출된 성가신 스위치와 버튼 없이 동기화 상자를 자동화할 수 있습니다.
API가 활성화되면 이 플러그인 호스트의 지정된 포트에서 API에 도달할 수 있습니다.
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>
토큰은 각 요청의 Authorization
헤더 값으로 지정되어야 합니다.
Authorization: <YOUR-TOKEN>
state
엔드포인트를 사용하여 동기화 상자의 상태를 검색합니다. HTTP 메소드는 GET
이어야 합니다.
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>/state
응답은 JSON 응답이며 다음 속성이 포함됩니다.
{ groupId: '<group-number>', mode: 'passthrough|powersave|video|game|music', lastSyncMode: 'video|game|music', brightness: 0-100, hdmiSource: 'input1|input2|input3|input4', options: { video: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, game: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, music: { intensity: 'subtle|moderate|high|intense' } } }
state
엔드포인트를 사용하여 동기화 상자의 상태를 설정합니다. HTTP 메소드는 POST
여야 합니다.
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>/state
요청 본문은 JSON이어야 하며 다음 값 중 일부/일부/모두를 포함할 수 있습니다.
{ groupId: '<group-number>', mode: 'passthrough|powersave|video|game|music', brightness: 0-100, hdmiSource: 'input1|input2|input3|input4', options: { video: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, game: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, music: { intensity: 'subtle|moderate|high|intense' } } }