Alexa.ThermostatControllor.ErrorResponseインターフェース



Alexa.ThermostatControllor.ErrorResponseインターフェース

Alexaから送信されたAlexa.ThermostatControllerディレクティブを正しく処理できなかった場合、スキルはAlexa.ThermostatControllor.ErrorResponseイベントで応答します。詳細については、ThermostatControllerを参照してください。

エラー応答イベント

Alexa.ErrorResponseのペイロードでは、エラータイプを指定し、エラー情報のメッセージを含めます。Alexa.ThermostatControllorのエラータイプのリストについては、エラータイプの値を参照してください。

ErrorResponseイベントのペイロードの詳細

フィールド 説明 必須
type エラーのタイプです。 文字列
message エラーメッセージです。 文字列

ErrorResponseイベントの形式

{
"event": {
    "header": {
      "namespace": "Alexa.ThermostatControllor",
      "name": "ErrorResponse",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "<OAuth2ベアラートークン>"
      },
      "endpointId" :  "<エンドポイントのエンドポイントID>" ,
    },
    "payload": {
      "type": "<エラータイプ>",
      "message": "<エラーメッセージ>"
    }
  }
}

エラータイプの値

次の表に、有効なAlexa.ThermostatControllorエラータイプを示します。

エラータイプ 説明
REQUESTED_SETPOINTS_TOO_CLOSE 2つの設定値の値が近すぎます。このエラー応答を送信する場合は、オプションとして、2つの温度設定値の差として設定可能な最小値を表すminimumTemperatureDeltaというTemperatureオブジェクトを含めることができます。
THERMOSTAT_IS_OFF サーモスタットがオフで、オンにできません。
UNSUPPORTED_THERMOSTAT_MODE サーモスタットは、指定されたモードをサポートしていません。
DUAL_SETPOINTS_UNSUPPORTED サーモスタットは、現在のモードで2つの設定値をサポートしていません。
TRIPLE_SETPOINTS_UNSUPPORTED サーモスタットは、現在のモードで3つの設定値をサポートしていません。
UNWILLING_TO_SET_SCHEDULE サーモスタットは、指定されたスケジュールを設定できません。
UNWILLING_TO_SET_VALUE サーモスタットは、デバイスや機器に損傷を与える恐れがあるため、この値を設定できません。

Alexa.ThermostatControllorエラータイプのほかに、TEMPERATURE_VALUE_OUT_OF_RANGEなどのAlexaエラータイプを設定できます。詳細については、Alexa.ErrorResponseのエラータイプの値を参照してください。

同期エラー応答の例

{
  "event": {
    "header": {
      "namespace": "Alexa.ThermostatControllor",
      "name": "ErrorResponse",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "endpoint":{
      "endpointId": "<エンドポイントID>"
    },
    "payload": {
      "type": "REQUESTED_SETPOINTS_TOO_CLOSE",
      "message": "2つの設定値の値が近すぎます。",
      "minimumTemperatureDelta": {
          "value": 2.0,
          "scale": "CELSIUS"
      }
    }
  }
}

温度が範囲外の場合の同期エラー応答の例

次の例では、Alexa.ErrorResponseインターフェースのTEMPERATURE_VALUE_OUT_OF_RANGEエラータイプを使用しています。

{
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "ErrorResponse",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "endpoint": {
      "endpointId": "<エンドポイントID>"
    },
    "payload": {
      "type": "TEMPERATURE_VALUE_OUT_OF_RANGE",
      "message": "リクエストされた温度-15は範囲外です。",
      "validRange": {
        "minimumValue": {
          "value": 15.0,
          "scale": "CELSIUS"
        },
        "maximumValue": {
          "value": 30.0,
          "scale": "CELSIUS"
        }
      }
    }
  }
}

設定値が互いに近すぎる場合の同期エラー応答の例

{
  "event": {
    "header": {
      "namespace": "Alexa.ThermostatController",
      "name": "ErrorResponse",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "endpoint": {
      "endpointId": "appliance-001"
    },
    "payload": {
      "type": "REQUESTED_SETPOINTS_TOO_CLOSE",
      "message": "リクエストされた温度設定の値が近すぎます",
      "minimumTemperatureDelta": {
        "value": 2.0,
        "scale": "CELSIUS"
      }
    }
  }
}

非同期エラー応答の例

非同期で応答する場合、相関トークンと、認可トークンを含めたスコープを含めます。

{
  "event": {
    "header": {
      "namespace": "Alexa.ThermostatControllor",
      "name": "ErrorResponse",
      "messageId": "<メッセージID>",
      "correlationToken": "<opaque相関トークン>",
      "payloadVersion": "3"
    },
    "endpoint":{
      "scope":{
        "type": "BearerToken",
        "token": "<OAuth2ベアラートークン>"
      },
      "endpointId": "<エンドポイントID>"
    },
    "payload": {
      "type": "THERMOSTAT_IS_OFF",
      "message": "The thermostat is currently off."
    }
  }
}