Alexa.InputControllerインターフェース3
Alexa.InputController
インターフェースをAlexaスマートホームスキルに実装すると、ユーザーはエンターテイメントデバイスの入力を変更できます。エンターテイメントデバイスのスキルの詳細については、エンターテイメントデバイス用のスマートホームスキルを作成するを参照してください。ビデオスキルの詳細については、ビデオスキルとはを参照してください。
Alexa.InputController
インターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
発話
Alexa.InputController
インターフェースではプリビルド音声対話モデルを使用します。以下に、ユーザーの発話の例を示します。
Alexa, change the input to DVD on the Living Room TV.
Alexa, switch to HDMI two on the Living Room TV.
Alexa, switch to AnyCompany TV on the Kitchen TV.
Alexa, ändere den Eingang am Fernseher im Wohnzimmer auf DVD.
Alexa, schalte auf dem Fernseher im Wohnzimmer auf HDMI zwei um.
Alexa, wechsle auf dem Küchenfernseher zu Arte.
Alexa, change le port d'entrée sur DVD dans le salon.
Alexa, change la télé du salon à HDMI 2.
Alexa, change à France 2 sur la télé.
Alexa, लिविंग रूम टीवी पर इनपुट को DVD में बदलें।
Alexa, लिविंग रूम टीवी पर HDMI दो पर स्विच करें
Alexa, किचन टीवी पर AnyCompany TV पर स्विच करें।
Alexa, cambia l'ingresso in DVD sulla TV del soggiorno.
Alexa, passa a HDMI due sulla TV del soggiorno.
Alexa, passa a Rai 1 sulla TV.
アレクサ、リビングのテレビの入力をDVDに変えて
アレクサ、リビングのテレビの入力をHDMI2に切り替えて
アレクサ、キッチンのテレビをNHKに切り替えて
Alexa, mude a entrada para DVD na TV da sala de estar.
Alexa, mude a entrada para HDMI dois na TV da sala de estar.
Alexa, mude para Band na TV da cozinha.
Alexa, cambia la entrada a DVD en el televisor de la sala.
Alexa, cambia a HDMI dos en el televisor de la sala.
Alexa, cambia a Discovery en la tele de la cocina.
Alexa, verander de input van de woonkamertv naar dvd.
Alexa, switch naar HDMI twee op de woonkamertv.
Alexa, switch naar AnyCompany TV op de keukentv.
ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。
プロパティ
出力可能なプロパティ
Alexa.InputController
インターフェースでは、プライマリプロパティとしてinput
プロパティを使用します。プロパティ値は文字列です。
Inputプロパティの値
デバイスがサポートする入力を指定するには、input
プロパティを以下のいずれかの値に設定します。
AUX 1
、AUX 2
、AUX 3
、AUX 4
、AUX 5
、AUX 6
、AUX 7
、BLURAY
、CABLE
、CD
、COAX 1
、COAX 2
、COMPOSITE 1
、DVD
、GAME
、HD RADIO
、HDMI 1
、HDMI 2
、HDMI 3
、HDMI 4
、HDMI 5
、HDMI 6
、HDMI 7
、HDMI 8
、HDMI 9
、HDMI 10
、HDMI ARC
、INPUT 1
、INPUT 2
、 INPUT 3
、INPUT 4
、INPUT 5
、INPUT 6
、INPUT 7
、INPUT 8
、INPUT 9
、INPUT 10
、IPOD
、 LINE 1
、LINE 2
、LINE 3
、LINE 4
、LINE 5
、LINE 6
、LINE 7
、MEDIA PLAYER
、OPTICAL 1
、 OPTICAL 2
、PHONO
、PLAYSTATION
、PLAYSTATION 3
、PLAYSTATION 4
、SATELLITE
、SMARTCAST
、TUNER
、TV
、USB DAC
、VIDEO 1
、VIDEO 2
、VIDEO 3
、XBOX
検出
Alexa.InputController
をサポートするエンドポイントを指定するには、Alexa.Discovery
の標準検出メカニズムを使用します。
Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievable
をtrue
に設定します。変更レポートでAlexaにプロアクティブにレポートするプロパティのproactivelyReported
をtrue
に設定します。
TV
、STREAMING_DEVICE
、GAME_CONSOLE
などの適切な表示カテゴリーを使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。
Alexaにデバイスの健全性を通知する場合、Alexa.EndpointHealth
インターフェースも実装してください。
configurationオブジェクト
Alexa.InputController
には、標準の検出応答フィールドのほかに、次のフィールドを含むconfigurationオブジェクトを含めます。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
デバイスがサポートする入力です。 |
オブジェクトの配列 |
◯ |
|
デバイスがサポートする入力の名前です。名前は、このデバイスの入力全体で一意である必要があります。 |
文字列 |
◯ |
|
入力を識別する別名のリストです。フレンドリー名は、このデバイスの入力全体で一意である必要があります。 |
文字列の配列 |
✕ |
検出応答の例
以下は、Alexa.InputController
インターフェースとAlexa.PowerController
インターフェースをサポートするテレビを表すDiscover.Response
メッセージの例です。テレビに推奨されるすべてのインターフェースの一覧については、スマートホームスキル用のデバイステンプレートを参照してください。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "エンドポイントのメーカー名",
"description": "テレビメーカーのスマートテレビ",
"friendlyName": "リビングのテレビ",
"displayCategories": ["TV"],
"cookie": {},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa.InputController",
"version": "3",
"properties": {
"supported": [{
"name": "input"
}],
"proactivelyReported": true,
"retrievable": true
},
"inputs": [{
"name": "HDMI 1",
"friendNames": ["任意の会社のテレビ"]
},
{
"name": "HDMI 2",
"friendlyNames": ["ケーブル", "任意の会社のケーブル"]
}
]
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [{
"name": "powerState"
}],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.EndpointHealth",
"version": "3.1",
"properties": {
"supported": [{
"name": "connectivity"
}],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}]
}
}
}
AddOrUpdateReport
最初の検出応答後にエンドポイントの機能サポートが変更された場合は、Alexa.Discovery.AddOrUpdateReport
メッセージをプロアクティブに送信する必要があります。たとえば、デバイスがサポートする入力が変更されたら、AddOrUpdateReport
メッセージを送信してAlexaに通知します。詳細については、AddOrUpdateReport
を参照してください。
AddOrUpdateReportイベントの例
以下は、エンドポイントのその他の入力の例です。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "AddOrUpdateReport",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "エンドポイントのメーカー名",
"description": "テレビメーカーのスマートテレビ",
"friendlyName": "リビングのテレビ",
"displayCategories": ["TV"],
"cookie": {},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa.InputController",
"version": "3",
"properties": {
"supported": [{
"name": "input"
}],
"proactivelyReported": true,
"retrievable": true
},
"inputs": [{
"name": "HDMI 1",
"friendNames": ["任意の会社のテレビ"]
},
{
"name": "HDMI 2",
"friendlyNames": ["ケーブル", "任意の会社のケーブル"]
},
{
"name": "AUX 1",
"friendlyNames": ["DVDプレーヤー"]
},
{
"name": "AUX 2"
}
]
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [{
"name": "powerState"
}],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}]
}
}
}
ディレクティブ
Alexaは次のAlexa.InputController
インターフェースディレクティブをスキルに送信します。
SelectInputディレクティブ
SelectInput
ディレクティブをサポートすると、ユーザーがデバイスの入力を変更できるようになります。
以下に、ユーザーの発話の例を示します。
Alexa, change the input to HDMI one on the Living Room TV.
Alexa, ändere den Eingang am Fernseher im Wohnzimmer auf HDMI eins.
Alexa, ändere den Eingang auf HDMI eins auf dem Wohnzimmerfernseher.
Alexa, change le port d'entrée sur HDMI 1 sur le téléviseur du salon.
Alexa, लिविंग रूम टीवी पर इनपुट को HDMI एक में बदलें।
Alexa, cambia l'ingresso HDMI sulla TV del soggiorno.
アレクサ、リビングのテレビの入力をHDMI1に変えて
Alexa, mude a entrada para HDMI um na TV da sala de estar.
Alexa, cambia la entrada a HDMI 1 en el televisor de la sala.
Alexa, verander de input naar HDMI een op de woonkamertv.
SelectInputディレクティブの例
以下は、Alexaがスキルに送信するSelectInput
ディレクティブの例です。
{
"directive": {
"header": {
"namespace": "Alexa.InputController",
"name": "SelectInput",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"input": "HDMI 1"
}
}
}
SelectInputディレクティブのペイロード
次の表は、SelectInput
ディレクティブのペイロードの詳細を示しています。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
デバイスの変更後の |
文字列 |
◯ |
SelectInput応答
SelectInput
ディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。
以下は、SelectInput
ディレクティブ応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [{
"namespace": "Alexa.InputController",
"name": "input",
"value": "HDMI 1",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:15:40.12Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
SelectInputディレクティブのエラー処理
SelectInput
ディレクティブを正しく処理できなかった場合は、Alexa.ErrorResponseイベントを使用して応答します。
状態レポート
Alexaはエンドポイントの状態についての情報をリクエストするために、ReportState
ディレクティブを送信します。AlexaがReportState
ディレクティブを送信したら、それに対する応答としてStateReport
イベントを送信します。この応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。
StateReport応答の例
{
"event": {
"header": {
"namespace": "Alexa",
"name": "StateReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [{
"namespace": "Alexa.InputController",
"name": "input",
"value": "HDMI 1",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:20:50Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
変更レポート
エンドポイントの状態の変化をプロアクティブにレポートするために、ChangeReport
イベントを送信します。プロアクティブにレポートするプロパティは検出応答で特定します。変更レポートの詳細については、状態および変更レポートについてを参照してください。
ChangeReportイベントの例
{
"event": {
"header": {
"namespace": "Alexa",
"name": "ChangeReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"change": {
"cause": {
"type": "VOICE_INTERACTION"
},
"properties": [{
"namespace": "Alexa.InputController",
"name": "input",
"value": "HDMI 2",
"timeOfSample": "2017-02-03T16:40:50.52Z",
"uncertaintyInMilliseconds": 0
}]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
}, {
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:15:40.12Z",
"uncertaintyInMilliseconds": 0
}]
}
}
関連トピック
最終更新日: 2024 年 12 月 06 日