question

Chris Bannan avatar image
Chris Bannan asked

What is wrong with my Thermostat ErrorResponse? I get only generic responses

Our smart home skill error responses seem to elicit only a small number of response from Alexa. I tested a variety of these error codes sent for setting the thermostat mode or targetSetpoint.

The attached file [tstat-response.txt] describes the errors returned and the resulting Alexa responses.
Below is an example of the response. I assume we are doing something wrong. Can you tell me what I am doing wrong?

Thanks

{
    "event": {
        "header": {
            "messageId": "0c8bbc54-83ca-4503-842d-671d587f8587",
            "correlationToken": "AAAAAAAAAADgg3x+eYMtDb6MLf/zDB5nDAIAAAAAAACeIIkXY0Xb+A1qPUKgIIvEHTqH1r1LHwb1iv0/iqHXcOLA1V+GTXqiQaL+rodNsXinBkyiCqeyHyjBD5xXTOe4O1NXQuZjLA4LP5J6FRy9XewgCcz8SUCApYZvM+U3eQXw5FNy6tB4+EF8W4sKx8Dl6L70CRsw7/OoQtnkjKlWhKy+kTaLVF5fmSupNLL7QhzmOZVUo3baiBuXOxUM1yezbxXNMS1DljmE9pY97KWI4BwWM2hdaUmlaMsZZt3eXTTPj8Ft43TGRj3r+lgM2K/ZnrS+T5XdxRVmK5ikhyLvGdg8XxbXaEkq17yr0zKqIIccil13Cc42FamGJnKV/eMRZjer6TBlis/gc8xt5JBvQTyrAUa+BMsdEsVQ0ovcdSuDSwTvC9f6FXDPpy+HdcJmL1NQnzlqaT0yNvzvPuETpbsXsa4WXNmhjQVhqJH0U2MdaItkSLlcJVYDH4HV+8N33cRz5I35XbJ4oIrMdy+imhdljXGyckiZ+SkeUtbMTst+Oc5ro4aiaigmeuwaNAx97ZgFYq8c4DMuy2aPiQXPZwTXWyvlPIgYfD+uIsRaiMwS5zfwy+HOEzjjuNgeo9v4xb9s49SGZUPBM/LQ5MKbYVjZV+MkqaiPHYaD9OC9C4Dbwz1z6yR9F92JWvNVZuq8psuXMJnRXq9UKkSUsc4+CmK31g112jNhfhgpyg==",
            "namespace": "Alexa.ThermostatController",
            "name": "ErrorResponse",
            "payloadVersion": "3"
        },
        "payload": {
            "type": "BRIDGE_UNREACHABLE",
            "message": "BRIDGE_UNREACHABLE"
        },
        "endpoint": {
            "endpointId": "85645281:12:7"
        }
    }
}

alexa smart homethermostat
tstat-response.txt (1.2 KiB)
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Chris Bannan avatar image
Chris Bannan answered

My question was really 2 questions; 1) what was I doing wrong and 2) what responses would Alexa provide based on value of "type" in the payload.

For #2, see @Roy@amazon answer above

For #1, @Apeksha@amazon answered this via email. Her response was

We have Alexa.ErrorReponse Api where it provides generic error response type for all the device types  and we also have Error Response for Thermostat device type.


In your Forum post you were sending event.header.namespace as "Alexa.ThermostatController" for event.payload.type:"BRIDGE_UNREACHABLE" which follows under
"Alexa.ErrorResponse" error types values.


For error type values follows under "Alexa.ErrorResponse",  event.header.namespace should be "Alexa".


We have set of error types values for "Alexa.ThermostatController" for which you can send event.header.namespace as "Alexa.ThermostatController".


Please refer to the link below for "Alexa.ErrorResponse" error types.


https://developer.amazon.com/docs/device-apis/alexa-errorresponse.html#error-type-values


Please refer to the link below for "Alexa.ThermostatController" error types


https://developer.amazon.com/docs/device-apis/alexa-thermostatcontroller.html#errorresponse

The difference in the namespace was too subtle for me to notice without her help.
The document ought to make that more clear,

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

roy-1 avatar image
roy-1 answered

Hi ChrisB,

Thanks for posting. Currently, not all Error Response Types map to unique responses that are spoken by Alexa. If there are any Error Response Types that you'd like to return a unique error message to the user, please feel free to request this through our Alexa uservoice page here:

alexa.uservoice.com

1 comment
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Chris Bannan avatar image Chris Bannan commented ·

@Roy@amazon. I may have been unclear. I was really looking for two things; 1) what was I doing wrong and 2) what responses would Alexa provide based on value of "type" in the payload. Your comment is related to #2. I'll log that request.

As for #1, I'll comment separately on that.

0 Likes 0 ·