Philips Hue Sync Box 用の Homebridge プラグイン。
同期ボックスは電球として露出させることができます。次の機能がサポートされています。
オン/オフ
輝度
Sync Box はスイッチとして公開できます。次の機能がサポートされています。
オン/オフ
以下をサポートする追加の TV アクセサリを有効にすることもできます。
HDMI入力の切り替え
モードの切り替え
スイッチング強度
エンターテイメントエリアの切り替え
追加の TV アクセサリはそれぞれ、iOS リモート ウィジェットをサポートしています。
上/下:明るさを変更します
左/右: 強度を変更します
選択 (中央ボタン): モードを切り替えます
情報ボタン: HDMI 入力の切り替え
再生/一時停止: オン/オフを切り替えます
さらに、各 TV アクセサリには、以下をサポートする統合型電球を搭載できます。
オン/オフ
輝度
重要: TV アクセサリは HomeKit に手動で追加する必要があります。ログには追加用のピンが表示されます (プラグインのピンと同じである必要があります)。
npm 経由でプラグインをインストールします。
npm install 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
文字列が含まれています
ヒント:
これを行う 1 つの方法は、ターミナルに次のように入力することです: 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>
を同期ボックスの IP アドレスに置き換えます。証明書エラーが原因で問題が発生した場合は、パラメーター-k
cURL コマンドに追加します。
もう 1 つの方法は、 Postmanなどのツールを使用することです。リクエスト方法をPOST
に設定し、リクエスト URL としてhttps://<SYNC-BOX-IP>/api/v1/registrations
を入力します ( <SYNC-BOX-IP>
同期ボックスの IP アドレスに置き換えます)。次に、「本文」タブを開き、タイプを「raw」に設定し、ドロップダウンでコンテンツタイプとして「JSON」を選択します。次に、本文のテキスト ボックスに{ "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
と入力します。右上の「送信」ボタンをクリックしてリクエストを送信します。証明書エラーが原因で問題が発生した場合は、Postman で証明書の検証を無効にすることができます。グローバル設定に移動し、「全般」タブを開き、「SSL 証明書の検証」のトグルスイッチを無効にします。
{"プラットフォーム": [ {"platform": "PhilipsHueSyncBoxPlatform","syncBoxIpAddress": "<SYNC-BOX-IP-ADDRESS>","syncBoxApiAccessToken": "<ACCESS-TOKEN>","defaultOnMode": "video","defaultOffMode": "パススルー"、"ベースアクセサリ": "電球"、"tvアクセサリ": false、"tvアクセサリタイプ": "tv","tvアクセサリーライトバルブ": false,"モードTvアクセサリー": false,"モードTvアクセサリータイプ": "テレビ","モードTvアクセサリーライトバルブ": false,"強度Tvアクセサリー": false,"強度Tvアクセサリータイプ": "テレビ","強度Tvアクセサリーライトバルブ": false, "entertainmentTv Accessories": false,"entertainmentTv AccessoriesType": "tv","entertainmentTv AccessoriesLightbulb": false,"isApiEnabled": false,"apiPort": 40220,"apiToken": "<あなたのトークン>"} 】 }
syncBoxIpAddress : Philips Hue 同期ボックスの IP アドレス。
syncBoxApiAccessToken : 登録時に取得するアクセス トークン。
defaultOnMode (オプション): HomeKit 経由で Sync Box をオンにするときに使用されるモード。デフォルトはvideo
です。可能な値は、 video
、 music
、 game
、またはlastSyncMode
です。
defaultOffMode (オプション): HomeKit 経由で同期ボックスをオフにするときに使用されるモード。デフォルトはpassthrough
です。可能な値はpowersave
またはpassthrough
です。
Base Accessories (オプション): Sync Box の基本アクセサリのタイプを決定します。デフォルトはlightbulb
です。可能な値は、 lightbulb
、 switch
、またはnone
です。 none
使用しない場合、基本アクセサリは露出されません。
tvアクセサリ(オプション): 同期ボックスの入力を切り替えるための TV アクセサリを有効にします。デフォルトはfalse
です。
tv AccessoriesType (オプション): Apple Home アプリが表示するアイコンのタイプ。可能な値は、 tv
、 settopbox
、 tvstick
またはaudioreceiver
です。デフォルトはtv
です。
tv AccessoriesLightbulb (オプション): 入力を切り替えるための TV アクセサリ用の内蔵電球を有効にします。デフォルトはfalse
です。
modeTv Accessories (オプション): 同期ボックスのモード ( video
、 music
、 game
) を切り替えるための TV アクセサリを有効にします。デフォルトはfalse
です。
modeTv AccessoriesType (オプション): Apple Home アプリが表示するアイコンのタイプ。可能な値は、 tv
、 settopbox
、 tvstick
またはaudioreceiver
です。デフォルトはtv
です。
modeTv AccessoriesLightbulb (オプション): モードを切り替えるための TV アクセサリ用の内蔵電球を有効にします。デフォルトはfalse
です。
IntensityTv Accessories (オプション): TV アクセサリで同期ボックスの強度 ( subtle
、 moderate
、 high
、 intense
) を切り替えられるようにします。デフォルトはfalse
です。
IntensityTv AccessoriesType (オプション): Apple Home アプリが表示するアイコンのタイプ。可能な値は、 tv
、 settopbox
、 tvstick
またはaudioreceiver
です。デフォルトはtv
です。
IntensityTv AccessoriesLightbulb (オプション): 強度を切り替えるための TV アクセサリ用の統合電球を有効にします。デフォルトはfalse
です。
EntertainmentTv Accessories (オプション): Sync Box のエンターテイメント エリアを切り替えるための TV アクセサリを有効にします。デフォルトはfalse
です。
EntertainmentTv AccessoriesType (オプション): Apple Home アプリが表示するアイコンのタイプ。可能な値は、 tv
、 settopbox
、 tvstick
またはaudioreceiver
です。デフォルトはtv
です。
EntertainmentTv AccessoriesLightbulb (オプション): エンターテイメント エリアを切り替えるための 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' } } }