Alexa.TemperatureSensorインターフェース



Alexa.TemperatureSensorインターフェース

Alexa.TemperatureSensorインターフェース機能は、温度を感知するエンドポイントに割り当てることができます。このインターフェースではディレクティブやイベントを定義しませんが、StateReportイベントを使ってReportStateディレクティブに応答します。

ディレクティブ

このインターフェースはAlexaからのエンドポイントの状態リクエストに応答します。

ReportState

ReportStateディレクティブは、エンドポイントの状態をリクエストするために送信されます。エンドポイント(この場合はappliance-001)がメッセージで指定されます。

ReportStateリクエストの例

{
  "directive": {
    "header": {
      "messageId": "abc-123-def-456",
      "correlationToken": "abcdef-123456",
      "namespace": "Alexa",
      "name": "ReportState",
      "payloadVersion": "3"
    },
    "endpoint": {
      "endpointId": "appliance-001",
      "cookie": {},
      "scope":{  
            "type":"BearerToken",
            "token":"access-token-from-skill"
      }
    },
    "payload": {
    }
  }
}

プロパティとイベント

このインターフェースでは、以下のように応答できます。

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

プロパティ

プロパティ名 説明
temperature Temperature エンドポイントの温度です。温度の値と尺度の単位を含みます。

StateReportイベント

エンドポイントの状態をレポートします。

StateReportの例

{
  "context": {
    "properties": [ {
      "namespace": "Alexa.TemperatureSensor",
      "name": "temperature",
      "value": {
        "value": 24.0,
        "scale": "CELSIUS"
      },
      "timeOfSample": "2017-02-03T16:20:50.52Z",
      "uncertaintyInMilliseconds": 1000
    } ]
  },
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "StateReport",
      "payloadVersion": "3",
      "messageId": "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg=="
    },
    "endpoint": {
      "endpointId": "appliance-001"
    },
    "payload": {}
  }
}

その他のサンプルコード

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

TemperatureSensor

インターフェース 説明
Alexa.ThermostatController サーモスタットエンドポイントの設定変更に関連するディレクティブとイベントについて説明します。