用於飛利浦 Hue Sync Box 的 Homebridge 外掛程式。
同步盒可以暴露為燈泡。支援以下功能:
開/關
亮度
同步盒可以作為開關公開。支援以下功能:
開/關
您也可以啟用其他電視配件,支援:
切換 HDMI 輸入
切換模式
開關強度
切換娛樂區域
每個附加電視配件都支援 iOS 遠端小工具:
上/下:改變亮度
左/右:改變強度
選擇(中央按鈕):切換模式
資訊按鈕:切換 HDMI 輸入
播放/暫停:開啟/關閉
此外,每個電視配件都可以有一個整合式燈泡,支援:
開/關
亮度
重要提示:電視配件必須手動新增至 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>
替換為您的 Sync Box 的 IP 位址)。接下來,開啟“Body”選項卡,將類型設為“raw”,然後在下拉清單中選擇“JSON”作為內容類型。然後,在正文文字方塊中輸入{ "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
。點擊右上角的“發送”按鈕發送請求。如果由於憑證錯誤而出現問題,您可以在 Postman 中停用憑證驗證。轉到全域設置,打開“常規”選項卡並禁用“SSL 證書驗證”的切換開關。
{「平台」:[ {“平台”:“PhilipsHueSyncBoxPlatform”,“syncBoxIpAddress”:“<SYNC-BOX-IP-ADDRESS>”,“syncBoxApiAccessToken”:“<ACCESS-TOKEN>”,“defaultOnMode”:“視訊”,“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“defaultOffMode”:“ passthrough","baseAccessory": "燈泡","tvAccessory": false,"tvAccessoryType": "tv","tvAccessoryLightbulb": false,"modeTvAccessory": false,"modeTvAccessoryType": "tv","modeTvAccessory": false,"modeTvAccessoryType": "tv","modeTvAccessory": false,"modeTvAccessoryType": "tv","modeTvAccessory」 ,"intensityTvAccessory": false,"intensityTvAccessoryType": "tv","intensityTvAccessoryLightbulb": false,"entertainmentTvAccessory": false,"entertainmentTvAccessoryType": "tv","entertaincTopvAccess : 40220,"apiToken": "<您的令牌>"} ] }
syncBoxIpAddress :飛利浦 Hue Sync Box 的 IP 位址。
syncBoxApiAccessToken :您在註冊時獲得的存取權杖。
defaultOnMode (可選):透過 HomeKit 開啟同步盒時使用的模式。預設為video
。可能的值為video
、 music
、 game
或lastSyncMode
。
defaultOffMode (選購):透過 HomeKit 關閉同步盒時所使用的模式。預設為passthrough
。可能的值為powersave
或passthrough
。
baseAccessory (選購):決定同步盒基本附件的類型。預設為lightbulb
。可能的值為lightbulb
、 switch
或none
。如果none
使用,則不會暴露任何底座配件。
tvAccessory (選購):啟用電視配件以切換同步盒的輸入。預設為false
。
tvAccessoryType (選購):Apple Home 應用程式應顯示的圖示類型。可能的值為tv
、 settopbox
、 tvstick
或audioreceiver
。預設為tv
。
tvAccessoryLightbulb (選購):啟用電視配件的整合式燈泡以切換輸入。預設為false
。
modeTvAccessory (選購):啟用電視配件以切換同步盒的模式( video
、 music
、 game
)。預設為false
。
modeTvAccessoryType (可選):Apple Home 應用程式應顯示的圖示類型。可能的值為tv
、 settopbox
、 tvstick
或audioreceiver
。預設為tv
。
modeTvAccessoryLightbulb (選購):啟用電視配件的整合式燈泡以切換模式。預設為false
。
tensityTvAccessory (選購):啟用電視配件來切換同步盒的強度( subtle
、 moderate
、 high
、 intense
)。預設為false
。
tensityTvAccessoryType (可選):Apple Home 應用程式應顯示的圖示類型。可能的值為tv
、 settopbox
、 tvstick
或audioreceiver
。預設為tv
。
tensityTvAccessoryLightbulb (選購):啟用電視配件的整合式燈泡以切換強度。預設為false
。
EntertainmentTvAccessory (選購):啟用電視配件以切換同步盒的娛樂區域。預設為false
。
EntertainmentTvAccessoryType (可選):Apple Home 應用程式應顯示的圖示類型。可能的值為tv
、 settopbox
、 tvstick
或audioreceiver
。預設為tv
。
娛樂電視配件燈泡(選購):啟用電視配件的整合式燈泡以切換娛樂區域。預設為false
。
isApiEnabled (可選):啟用 HTTP API 來控制同步盒。預設為false
。請參閱API以了解更多資訊。
apiPort (可選):API(如果啟用)運行的連接埠。預設為40220
,請變更該連接埠已在使用的設定。
apiToken (可選):API 的每個請求中必須包含的令牌。如果 API 已啟用且沒有預設值,則為必要。
該外掛程式還提供了一個 HTTP API 來控制 Sync Box 的一些功能。它的創建是為了讓您可以使用 HomeKit 快捷方式進一步自動化系統。從 iOS 13 開始,您可以使用 HomeKit 自動化的捷徑。在 HomeKit 協調器(即 iPad、AppleTV 或 HomePod)上執行的自動化也支援 HTTP 請求,這意味著您可以自動化您的 Sync Box,而無需在 HomeKit 中暴露煩人的開關和按鈕。
如果啟用了 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' } } }