Alexa.SecurityPanelController.ErrorResponseイベント
Alexaからスキルに送信されたAlexa.SecurityPanelController
ディレクティブを正しく処理できなかった場合は、Alexa.SecurityPanelController.ErrorResponse
イベントで応答します。詳細については、Alexa.SecurityPanelControllerインターフェースを参照してください。
ErrorResponseイベント
Alexa.SecurityPanelController.ErrorResponse
のペイロードでは、エラータイプを指定し、エラー情報のメッセージを含めます。Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
ErrorResponseイベントのペイロードの詳細
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
type |
エラーのタイプです。Alexaはこれをユーザーと共有します。 | 文字列 | ◯ |
message |
エラーのエラーメッセージです。この情報はユーザーとは共有されません。 | 文字列 | ◯ |
ErrorResponseイベントの形式
{
"event": {
"header": {
"namespace": "Alexa.Health",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"payloadVersion": "1"
},
"payload": {
"type": "<エラータイプ>",
"message": "<エラーメッセージ>"
}
}
}
エラータイプの値
次の表に、Alexa.SecurityPanelController
の有効なエラータイプの値を示します。
値 | 説明 |
---|---|
AUTHORIZATION_REQUIRED |
セキュリティシステムの現在の状態はARMED_AWAY ですが、ユーザーがARMED_STAY またはARMED_NIGHT に変更してシステムを開始しようとしています。こちらの例をご覧ください。詳細については、セキュリティシステムの開始を参照してください。 |
BYPASS_NEEDED |
セキュリティパネルでオープンゾーンが検出されました。ユーザーはセキュリティシステムを開始する前に、このオープンゾーンをバイパスする必要があります。ユーザーが音声コマンドでエラーをバイパスできるようにするには、バイパスが必要なエンドポイントのリストをエラー応答のペイロードのendpointsNeedingBypass フィールドに含めます。Alexaがユーザーにエンドポイント名を伝えられるように、各エンドポイントのフレンドリー名を指定します。Alexa.ContactSensorインターフェースとAlexa.MotionSensorインターフェースを実装するセンサーのendpointId を含めます。エラー応答のペイロードにエンドポイントのリストを含めなかった場合、Alexaはユーザーに手動でバイパスするように伝えます。こちらの例をご覧ください。詳細については、音声オプションによるバイパスを参照してください。 |
NOT_READY |
セキュリティパネルを開始/解除する準備ができていません。インストールモードのセキュリティパネルをユーザーが制御しようとしたときに、このエラータイプを使用します。 |
UNAUTHORIZED |
PINコードが正しくありません。 |
UNCLEARED_ALARM |
アクティブなアラームがある状態で、ユーザーがセキュリティパネルを開始しようとしています。こちらの例をご覧ください。 |
UNCLEARED_TROUBLE |
セキュリティパネルの状態に問題があります。 |
Alexa.SecurityPanelController
エラータイプのほかに、Alexaエラータイプを使用することもできます。詳細については、Alexa.ErrorResponseのエラータイプの値を参照してください。
例
同期応答の例
以下は、Alexaに同期的に送信するエラー応答の例です。Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.SecurityPanelController",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"payloadVersion": "3"
},
"endpoint":{
"endpointId": "<エンドポイントID>"
},
"payload": {
"type": "UNAUTHORIZED",
"message": "PINコードが正しくありません。"
}
}
}
非同期応答の例
以下は、Alexaイベントゲートウェイに非同期的に送信するエラー応答の例です。非同期で応答する場合、相関トークンと、認可トークンを含めたスコープを含めます。詳細については、イベントゲートウェイにイベントを送信するを参照してください。
Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.SecurityPanelController",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"correlationToken": "<opaque相関トークン>",
"payloadVersion": "3"
},
"endpoint":{
"scope":{
"type":"BearerToken",
"token":"access-token-from-Amazon"
},
"endpointId": "<エンドポイントID>"
},
"payload": {
"type": "UNAUTHORIZED",
"message": "PINコードが正しくありません。"
}
}
}
AUTHORIZATION_REQUIRED
以下は、AUTHORIZATION_REQUIRED
エラータイプのエラー応答の例です。ユーザーがシステムを解除せずにARMED_AWAY
からARMED_NIGHT
またはARMED_STAY
に直接切り替えようとした場合に、このエラータイプを使用します。詳細については、セキュリティシステムの開始を参照してください。
Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.SecurityPanelController",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"correlationToken": "<opaque相関トークン>",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "<OAuth2ベアラートークン>"
},
"endpointId": "<エンドポイントID>"
},
"payload": {
"type": "AUTHORIZATION_REQUIRED",
"message": "リクエストされた警備状態を設定する前に、システムを解除する必要があります。"
}
}
}
BYPASS_NEEDED
以下は、BYPASS_NEEDED
エラータイプのエラー応答の例です。発生しているオープンゾーンエラーをユーザーがバイパスしないとシステムを開始できない場合に、このエラータイプを使用します。この例では、バイパスが必要なエンドポイントのリストを指定します。これを指定することで、ユーザーが音声でエラーをバイパスできるようになります。詳細については、音声オプションによるバイパスを参照してください。
Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.SecurityPanelController",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"correlationToken": "<opaque相関トークン>",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "<OAuth2ベアラートークン>"
},
"endpointId": "<エンドポイントID>"
},
"payload": {
"type": "BYPASS_NEEDED",
"message": "オープン状態のセンサーがあるため、セキュリティパネルを開始できません。",
"endpointsNeedingBypass": [
{
"friendlyName": "側面窓のセンサー",
"endpointId": "<エンドポイントID>"
},
{
"friendlyName": "玄関ドアのセンサー",
"endpointId": "<エンドポイントID>"
},
{
"friendlyName": "水センサー"
}
]
}
}
}
UNCLEARED_ALARM
以下は、UNCLEARED_ALARM
エラータイプのエラー応答の例です。アクティブなアラームがある状態で、ユーザーがセキュリティシステムを開始しようとしたときに、このエラータイプを使用します。Alexa.SecurityPanelController
のエラータイプのリストについては、エラータイプの値を参照してください。
{
"event": {
"header": {
"namespace": "Alexa.SecurityPanelController",
"name": "ErrorResponse",
"messageId": "<メッセージID>",
"correlationToken": "<opaque相関トークン>",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "<OAuth2ベアラートークン>"
},
"endpointId": "<エンドポイントID>"
},
"payload": {
"type": "UNCLEARED_ALARM",
"message": "アクティブなアラームがあるため、セキュリティパネルを開始または解除できません。"
}
}
}