Alexa.PowerLevelControllerインターフェース



Alexa.PowerLevelControllerインターフェース

Alexa.PowerLevelControllerインターフェースは、エンドポイントの電力レベルを制御するために使用するメッセージを記述します。電力レベルの制御をサポートするパワーディマーなどのデバイスには、より一般的なAlexa.PercentageControllerインターフェースの代わりに、このインターフェースを使用します。

ディレクティブ

このインターフェースの制御とクエリーのディレクティブは、以下の言語のスキルで使用できます。

  • 英語 - すべてのロケール
  • フランス語(フランス)
  • ドイツ語
  • イタリア語
  • 日本語
  • スペイン語(スペイン)

詳細については、スマートホームスキルを複数の言語で開発するを参照してください。

SetPowerLevel

エンドポイントに電力レベルの値を設定します。

ユーザー: アレクサ、デバイスの電力を40%にして

リクエストの例:

{
"directive": {
    "header": {
      "namespace": "Alexa.PowerLevelController",
      "name": "SetPowerLevel",
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {
      "powerLevel": 40
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
powerLevel デバイスに指定する電力レベルです。 0から100までの整数(両端の値を含む)

AdjustPowerLevel

エンドポイントの電力レベルを、指定したパーセンテージだけ増減させます。

ユーザー: アレクサ、デバイスの電力レベルを3上げて

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PowerLevelController",
      "name": "AdjustPowerLevel",
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {
      "powerLevelDelta": 3
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
powerLevelDelta パーセンテージで指定される電力レベルの変更幅です。電力レベルを増減させる正または負の整数値になります。たとえば、開始値が97で電力レベルの差分が3の場合、電力レベルの値は100に上がります。 -100から100までの整数(両端の値を含む)

プロパティとイベント

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

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

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

プロパティ

プロパティ名 説明
powerLevel Percentage パワーディマーなどのアプライアンスの電力レベル(0から100までのパーセンテージ値)です。

応答

SetPowerLevelまたはAdjustPowerLevelリクエストが正常に完了したら、Responseイベントを送信します。

応答の例

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

ErrorResponse

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

その他のサンプルコード

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

PowerLevelController

インターフェース 説明
Alexa.PowerController エンドポイントをオン/オフにするメッセージを定義します。