Alexa 智能家居“无法检索状态”

问题描述 投票:0回答:1

我正在使用 Alexa 智能家居技能示例 - 我没有与任何真实的硬件或后端对话,只是想让消息流正常工作。我已经设置了一个简单的开关/插头/灯,只能支持打开/关闭 - 并且我已启用帐户链接工作和技能。当我尝试通过手机或网络上的 Alexa 应用程序(启用调试)查看它时,它总是说设备没有响应,或者“无法检索状态”。我肯定可以在Cloud Watch中看到如下消息。

知道为什么我会长期收到这样的回复吗?

要求:

“指令”:{
        “端点”:{
            “曲奇饼”: {},
            "endpointId": "端点-003",
            “范围”: {
                “令牌”:“<<>”,
                “类型”:“承载令牌”
            }
        },
        “标题”:{
            "correlationToken": "<>",
            "messageId": "50397414-bb9d-412f-8a2c-15669978ab64",
            "name": "报告状态",
            “命名空间”:“Alexa”,
            “有效负载版本”:“3”
        },
        “有效负载”:{}
    }
}

回应:

{
    "context": {
        "properties": [
            {
                "name": "connectivity",
                "namespace": "Alexa.EndpointHealth",
                "timeOfSample": "2020-06-29T16:49:59.00Z",
                "uncertaintyInMilliseconds": 0,
                "value": "OK"
            },
            {
                "name": "powerState",
                "namespace": "Alexa.PowerController",
                "timeOfSample": "2020-06-29T16:49:59.00Z",
                "uncertaintyInMilliseconds": 0,
                "value": "ON"
            }
        ]
    },
    "event": {
        "endpoint": {
            "endpointId": "endpoint-003",
            "scope": {
                "token": "Alexa-access-token",
                "type": "BearerToken"
            }
        },
        "header": {
            "correlationToken": "<<SHORTENED>>",
            "messageId": "7a8b9a71-adda-41b8-acba-4d3855374845",
            "name": "Response",
            "namespace": "Alexa",
            "payloadVersion": "3"
        },
        "payload": {}
    }
}
alexa alexa-skills-kit alexa-smart-home-skill
1个回答
1
投票

问题是:我的标头响应中的“名称”应该是“ReportState”。 “响应”仅用于设置/更改值的事物。

我的一般建议是始终验证三个事情是否良好:

  1. 初步“发现”
  2. “回复”消息
  3. 一般“ReportState”查询。

我的意思是:

  1. 您宣传的任何应在“发现”中报告的内容最好在其他(“ReportState”)消息中报告。如果您宣传“PowerController” - 如果您的 ReportStates 不包含该状态,您将看不到该状态,或者它将永远重试(继续寻找它) - 或者您可能得到一些有点错误。
  2. 如果您更改了发现内容 - 确保您确实删除、重新发现,并且新添加/删除的状态(上面)没问题
  3. 始终确保报告“EndpointHealth”。
© www.soinside.com 2019 - 2024. All rights reserved.