?
サポート

Alexa.PowerLevelControllerインターフェース

Alexa.PowerLevelControllerインターフェース

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

ディレクティブ

このインターフェースの制御とクエリのディレクティブは、次の言語を対象とするスキルでサポートされています。

  • 英語(米国)
  • 英語(英国)
  • 英語(インド)
  • ドイツ語
  • 日本語

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

SetPowerLevel

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

リクエストの例:

{
"directive": {
    "header": {
      "namespace": "Alexa.PowerLevelController",
      "name": "SetPowerLevel",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {
      "powerLevel": 42
    }
  }
}

ペイロードの詳細

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

AdjustPowerLevel

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

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PowerLevelController",
      "name": "AdjustPowerLevel",
      "messageId": "da81f4fb-c916-4bd4-9eb3-fe35ba6bae2a",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {
      "powerLevelDelta": 3
    }
  }
}

ペイロードの詳細

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

プロパティとイベント

このインターフェースでは、次のいずれかの応答を使用する必要があります。

  • 同期的。つまり、Lambda関数からAlexaにResponseイベントを送信します。
  • 非同期的。つまり、AlexaイベントゲートウェイにResponseイベントを送信します。非同期応答の際には、ユーザーを識別する認可を受けたトークンを含むscope要素と、応答するディレクティブを識別する correlation トークンが必要になります。

Responseを送信するときには、メッセージの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":"30d2cd1a-ce4f-4542-aa5e-04bd0a6492d5",
         "correlationToken":"dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
         "payloadVersion":"3"
      },
      "endpoint":{
         "scope":{
            "type":"BearerToken",
            "token":"Alexa-access-token"
         },
         "endpointId":"appliance-001"
      },
      "payload":{ }
   }
}

ErrorResponse

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

追加のサンプルコード

リクエストの例と応答メッセージについては、AlexaスマートホームGitHubリポジトリを参照してください。

PowerLevelController

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