Alexa.PowerControllerインターフェース



Alexa.PowerControllerインターフェース

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

ディレクティブ

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

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

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

TurnOn

エンドポイントをオンにするようリクエストします。

ユーザー: Alexa, turn on device
ユーザー: Alexa, schalte Smart Home-Gerät ein
ユーザー:デバイスをつけて
ユーザー: allume device s'il te plaît

リクエストの例:

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

ペイロードの詳細

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

TurnOff

エンドポイントをオフにするようリクエストします。

ユーザー: Alexa, turn off device
ユーザー: Alexa, schalte Smart Home-Gerät aus
ユーザー:デバイスを消して
ユーザー: Eteins device s'il te plaît

リクエストの例:

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

ペイロードの詳細

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

プロパティとイベント

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

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

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

プロパティ

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

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

応答

電源オンまたは電源オフのリクエストが正常に完了したら、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": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-Amazon"
      },
      "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": "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リポジトリで以下を参照してください。

PowerController

Works with Amazon Alexaのガイドライン

説明 要件
ユーザーのリクエストに対する応答 所要時間が2秒未満であること。所要時間が5秒を超える応答は遅延エラーとして記録されます。
状態レポート すべてのプロパティproactivelyReportedおよびretrievableであること。
WWAAテストケース WWAA PowerControllerテスト
インターフェース 説明
Alexa.PowerLevelController エンドポイントの電力レベルを変更するメッセージを定義します。