Alexa.BrightnessControllerインターフェース3


Alexa.BrightnessControllerインターフェース3

AlexaスキルにAlexa.BrightnessControllerインターフェースを実装すると、電球などのデバイスの輝度をユーザーが変更できるようになります。スマートホームスキルの詳細については、スマートホームスキルを理解するを参照してください。

輝度の調整に対応しているデバイスには、より汎用的なAlexa.PercentageControllerインターフェースの代わりにAlexa.BrightnessControllerインターフェースを使用します。調光スイッチのようなエンドポイントの電力レベルを制御するには、Alexa.PowerLevelControllerインターフェースを使用します。

Alexa.BrightnessControllerインターフェースがサポートする言語については、機能インターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。

発話

Alexa.BrightnessControllerインターフェースではプリビルド音声対話モデルを使用します。ユーザーが次のいずれかの発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。

以下に、ユーザーの発話の例を示します。

Alexa, brighten the bathroom light to seventy five percent.
Alexa, dim the lights to twenty five percent.
Alexa, set the bedroom light to fifty percent.

Alexa, diminue la lumière de la salle de bains
Alexa, règle la luminosité de la lumière à cinquante
Alexa, mets la lumière de la chambre en lumineux
Alexa, ajuste les lumières de la cuisine à cinquante pourcents

Alexa, dimme das Licht auf fünfundzwanzig Prozent.
Alexa, erhelle das Licht auf fünfundsiebzig Prozent.
Alexa, stelle das Licht auf fünfzig Prozent.
Alexa, lege die Küchenbeleuchtung auf fünfundsiebzig Prozent fest.

Alexa, बाथरूम की रोशनी को पचहत्तर प्रतिशत तक रोशन करो।
Alexa, रोशनी को पच्चीस प्रतिशत तक कम कर दो।
Alexa, बेडरूम की रोशनी को पचास प्रतिशत पर सेट करो।

アレクサ、浴室の照明を暗くして。
アレクサ、浴室の照明を50パーセントにして。

Alexa, metti la luce a venticinque percento.
Alexa, rendi la mia luce più luminosa per favore.
Alexa, imposta il gruppo le luci della cucina alla luminosità massima.
Alexa, aumenta la luminosità delle lampade al cinquanta percento per favore.

Alexa, aumente o brilho da luz do banheiro para setenta e cinco por cento.
Alexa, diminua o brilho das luzes para vinte e cinco por cento.
Alexa, diminua as luzes para vinte e cinco por cento.
Alexa, coloque a luz do banheiro em cinquenta por cento.

Alexa, pon el brillo de las luces de la cocina a cincuenta.
Alexa, por favor, baje la luz del dormitorio al veinticinco por ciento.
Alexa, ajusta el brillo de las luces de la cocina al setenta y cinco.

Alexa, zet de badkamerlamp feller tot vijfenzeventig procent.
Alexa, dim de verlichting tot vijfentwintig procent.
Alexa, zet de slaapkamerlamp op vijftig procent.

出力可能なプロパティ

Alexa.BrightnessControllerインターフェースは、brightnessプロパティをプライマリプロパティとして使用します。このプロパティは整数で、有効値は0~100(両端の値を含む)です。brightnessプロパティを使用して変化を表す場合、有効値は-100~100(両端の値を含む)です。

検出

Alexa.BrightnessControllerをサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して表します。

Alexaからスキルに状態レポートリクエストが送信されるときにレポートするすべてのインターフェースとプロパティのretrievabletrueに設定します。変更レポートでAlexaにプロアクティブにレポートするインターフェースとプロパティのproactivelyReportedtrueに設定します。

表示カテゴリーの一覧は、表示カテゴリーを参照してください。

Alexaにデバイスの健全性を通知する場合、Alexa.EndpointHealthインターフェースも実装してください。

検出応答の例

以下は、Alexa.BrightnessControllerインターフェースとAlexa.ColorControllerインターフェースをサポートする照明のDiscover.Responseメッセージの例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "エンドポイントの一意のID",
                "manufacturerName": "エンドポイントのメーカー名",
                "description": "Alexaアプリに表示される説明",
                "friendlyName": "リビングの照明",
                "displayCategories": ["LIGHT"],
                "additionalAttributes": {
                    "manufacturer": "エンドポイントのメーカー名",
                    "model": "デバイスのモデル",
                    "serialNumber": "デバイスのシリアル番号",
                    "firmwareVersion": "デバイスのファームウェアバージョン",
                    "softwareVersion": "デバイスのソフトウェアバージョン",
                    "customIdentifier": "デバイスのカスタム識別子"
                },
                "cookie": {},
                "capabilities": [{
                        "type": "AlexaInterface",
                        "interface": "Alexa.BrightnessController",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "brightness"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.ColorController",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "color"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.EndpointHealth",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "connectivity"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }]
        }
    }
}

ディレクティブ

Alexaは次のAlexa.BrightnessControllerインターフェースディレクティブをスキルに送信します。

SetBrightnessディレクティブ

ユーザーがデバイスの輝度値を設定できるように、SetBrightnessディレクティブをサポートします。

以下に、ユーザーの発話の例を示します。

Alexa, set the table light bulb to fifty percent.

Alexa, règle la lumière de la chambre à cinquante pour cent.

Alexa, stelle das Licht auf fünfzig Prozent.

Alexa, टेबल लाइट बल्ब को पचास प्रतिशत पर सेट करो।

アレクサ、浴室の照明を50パーセントにして。

Alexa, metti la lampada da tavolo a venticinque per cento.

Alexa, coloque a lâmpada de mesa em cinquenta por cento.

Alexa, sube la bombilla de la mesa a cincuenta por ciento.

Alexa, zet de tafellamp op vijftig procent.

SetBrightnessディレクティブの例

以下は、輝度を50%に設定するリクエストの例です。

{
    "directive": {
        "header": {
            "namespace": "Alexa.BrightnessController",
            "name": "SetBrightness",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {
            "brightness": 50
        }
    }
}

SetBrightnessディレクティブのペイロード

次の表は、SetBrightnessディレクティブのペイロードの詳細を示しています。

プロパティ 説明 必須

brightness

デバイスに設定するbrightnessです。

整数

SetBrightness応答

SetBrightnessディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。応答は同期または非同期のどちらでも可能です。非同期で応答する場合、相関トークンと、認可トークンを含めたスコープを含めます。

以下は、SetBrightness応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
            "namespace": "Alexa.BrightnessController",
            "name": "brightness",
            "value": 50,
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 500
        }]
    }
}

SetBrightnessディレクティブのエラー処理

SetBrightnessディレクティブを正しく処理できなかった場合は、Alexa.ErrorResponseイベントを使用して応答します。

AdjustBrightnessディレクティブ

ユーザーがデバイスの輝度値を調節できるように、AdjustBrightnessディレクティブをサポートします。

以下に、ユーザーの発話の例を示します。

Alexa, dim table light bulb twenty five percent.

Alexa, baisse la lumière de la salle de bains.

Alexa, dimme das Licht um fünfundzwanzig Prozent.

Alexa, डिम टेबल लाइट बल्ब पच्चीस प्रतिशत।

アレクサ、テーブルライトの電球を25パーセント暗くして。

Alexa, diminuisci lampadina da tavolo venticinque per cento.

Alexa, diminua o brilho da lâmpada de mesa em vinte e cinco por cento.

Alexa, baja el brillo de luz a veinticinco.

Alexa, dim de tafellamp tot vijfentwintig procent.

AdjustBrightnessディレクティブの例

以下は、輝度を25%低く調整するリクエストの例です。

{
    "directive": {
        "header": {
            "namespace": "Alexa.BrightnessController",
            "name": "AdjustBrightness",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {
            "brightnessDelta": -25
        }
    }
}

AdjustBrightnessディレクティブのペイロード

次の表は、AdjustBrightnessディレクティブのペイロードの詳細を示しています。

プロパティ 説明 必須

brightnessDelta

brightnessの変更量です。

整数

AdjustBrightness応答

AdjustBrightnessディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。応答は同期または非同期のどちらでも可能です。非同期で応答する場合、相関トークンと、認可トークンを含めたスコープを含めます。

以下は、AdjustBrightness応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
            "namespace": "Alexa.BrightnessController",
            "name": "brightness",
            "value": 75,
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 1000
        }]
    }
}

AdjustBrightnessディレクティブのエラー処理

AdjustBrightnessディレクティブを正しく処理できなかった場合は、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.BrightnessController",
            "name": "brightness",
            "value": 75,
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 1000
        }]
    }
}

変更レポート

エンドポイントの状態の変化をプロアクティブにレポートするために、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": "PHYSICAL_INTERACTION"
                },
                "properties": [{
                    "namespace": "Alexa.BrightnessController",
                    "name": "brightness",
                    "value": 75,
                    "timeOfSample": "2024-02-03T16:17:00.00Z",
                    "uncertaintyInMilliseconds": 0
                }]
            }
        }
    },
    "context": {
        "namespace": "Alexa.EndpointHealth",
        "name": "connectivity",
        "value": {
            "value": "OK"
        },
        "timeOfSample": "2024-02-03T16:15:00.00Z",
        "uncertaintyInMilliseconds": 0
    }
}


このページは役に立ちましたか?

最終更新日: 2024 年 11 月 08 日