Alexa.PowerControllerインターフェース

Alexa.PowerControllerインターフェース

PowerControllerインターフェースは、デバイスの電源の状態を制御および報告するために使用するメッセージを記述します。

ディレクティブ

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

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

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

TurnOn

エンドポイントをオンにすることを要求します。

「Alexa、端末名をオンにして」

「Alexa, turn on device name」

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PowerController",
      "name": "TurnOn",
      "payloadVersion": "3",
      "messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {}
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 N/A N/A

TurnOff

エンドポイントをオフにすることを要求します。

「Alexa、端末名をオフにして」

「Alexa, turn off device name」

リクエストの例:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PowerController",
      "name": "TurnOff",
      "payloadVersion": "3",
      "messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "some-access-token"
      },
      "endpointId": "appliance-001",
      "cookie": {}
    },
    "payload": {}
  }
}

ペイロードの詳細

フィールド 説明 必須
なし ペイロードに必須または任意のフィールドはありません。 N/A N/A

プロパティとイベント

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

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

Responseを送信するときには、メッセージのcontextにレポート可能なプロパティの状態を含める必要があります。

レポート可能なプロパティ

電源の状態が変化したときには、powerStateプロパティを使用して状態レポートを送信します。

プロパティ名 説明
powerState PowerState デバイスの電源がオンかオフかを示します。有効な値は「ON」と「OFF」です。

応答

電源オンまたは電源オフのリクエストが正常に完了したら、Responseイベントを送信します。

TurnOnリクエストに対するResponseの例

{
  "context": {
    "properties": [ {
      "namespace": "Alexa.PowerController",
      "name": "powerState",
      "value": "ON",
      "timeOfSample": "2017-02-03T16:20:50.52Z",
      "uncertaintyInMilliseconds": 500
    } ]
  },
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "Alexa-access-token"
      },
      "endpointId": "appliance-001"
    },
    "payload": {}
  }
}

TurnOffリクエストに対するResponseの例

{
  "context": {
    "properties": [ {
      "namespace": "Alexa.PowerController",
      "name": "powerState",
      "value": "OFF",
      "timeOfSample": "2017-02-03T16:20:50.52Z",
      "uncertaintyInMilliseconds": 500
    } ]
  },
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "Alexa-access-token"
      },
      "endpointId": "appliance-001"
    },
    "payload": {}
  }
}

ErrorResponse

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

追加のサンプルコード

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

PowerController

インターフェース 説明
Alexa.PowerController エンドポイントの電力レベルを変更するメッセージを定義します。