Alexa.ColorControllerインターフェース



Alexa.ColorControllerインターフェース

Alexa.ColorControllerインターフェースには、色が変化する電球などのエンドポイントの色を変化させて、レポートに使用するメッセージが含まれます。

ColorControllerインターフェースでサポートされているロケールについては、機能インターフェースの一覧を参照してください。

発話

Alexa.ColorControllerインターフェースを使用する場合、音声対話モデルは既にビルドされています。以下に、ユーザーの発話の例を示します。

Alexa, set the front porch light to blue.
Alexa, set the bedroom light to red.
Alexa, change the kitchen to the color blue.

アレクサ、玄関の電気を青色にして。
アレクサ、寝室の電気を赤色にして。
アレクサ、キッチンの色を青色にして。

ユーザーがこのような発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。

ディレクティブ

SetColor

エンドポイントに照明の色を設定するようリクエストします。

ユーザー: Alexa、デバイス名を◯色にして

ユーザー: Alexa、寝室を赤色にして

ユーザー: Alexa、キッチンの色を青色に変えて

ユーザー: setze Wohnzimmerlicht auf rosa

リクエストの例:

{
    "directive": {
        "header": {
            "namespace": "Alexa.ColorController",
            "name": "SetColor",
            "payloadVersion": "3",
            "messageId": "abc-123-def-456",
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "access-token-from-skill"
            },
            "endpointId": "appliance-001",
            "cookie": {}
        },
        "payload": {
            "color": {
                "hue": 350.5,
                "saturation": 0.7138,
                "brightness": 0.6524
            }
        }
    }
}

ペイロードの詳細

フィールド 説明 必須
color 照明に設定する色を示します。HSBカラーモデル(hue:色相、saturation:彩度、brightness:輝度)で指定します。 colorオブジェクト

プロパティとイベント

この機能では、次のいずれかの応答を使用する必要があります。

  • 同期的に、Lambda関数からAlexaにResponseイベントを送信します。
  • 非同期的に、AlexaイベントゲートウェイにResponseイベントを送信します。非同期的に応答する場合、認可トークンにscopeを含めてユーザーを識別し、相関トークンを含めて応答先のディレクティブを識別する必要があります。

応答を送信する場合、メッセージのcontextにインターフェースのプロパティの状態を含めます。

ColorControllerColorTemperatureControllerインターフェースをサポートする照明エンドポイントでは、エンドポイントに色が設定されたときはcolorの状態を、エンドポイントに白の色調が設定されたときはcolorTemperatureInKelvinの状態をレポートします。

プロパティ

プロパティ名 説明
color Color 照明に設定する色を示します。HSBカラーモデル(hue:色相、saturation:彩度、brightness:輝度)で指定します。colorプロパティは電球がHSBカラーに設定されている場合にのみレポートされます。

応答

SetColorディレクティブの処理が成功した場合、Responseイベントにより応答する必要があります。メッセージのcontextcolorプロパティの状態を含めます。

応答の例

HSBカラーをサポートするエンドポイント、またはHSBカラーと色温度をサポートするが現在はHSBカラーに設定されているエンドポイントの応答の例を次に示します。

{
    "context": {
        "properties": [ {
            "namespace": "Alexa.ColorController",
            "name": "color",
            "value": {
                "hue": 350.5,
                "saturation": 0.7138,
                "brightness": 0.6524
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 1000
        } ]
    },
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "payloadVersion": "3",
            "messageId": "abc-123-def-456",
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
        },
        "endpoint": {
            "scope": {
              "type": "BearerToken",
              "token": "access-token-from-Amazon"
      },
            "endpointId": "appliance-001"
        },
        "payload": {}
    }
}

ErrorResponse

何らかの理由によりユーザーのリクエストを完了できない場合、エラー応答を返す必要があります。詳細については、Alexa.ErrorResponseを参照してください。

その他のサンプルコード

リクエストと応答のサンプルについては、AlexaスマートホームのGitHubリポジトリで以下を参照してください。

ColorController

インターフェース 説明
Alexa.ColorTemperatureController 調整可能な照明エンドポイントの色温度を設定します。