Alexa 亮度自动测试问题

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

我正在为 Alexa 开发一项智能家居技能,其中涉及控制具有各种功能的灯,例如亮度、色温 (CT) 等。我已经成功解决了所有其他问题,包括 CT、颜色和开/关功能。然而,我在通过与亮度功能特别相关的自动化测试时遇到了困难。

我的问题是运行自动化测试时的亮度问题,我收到亮度错误,详细信息如下;

场景一: 假设请求之前的初始状态是亮度设置为 75。

在第一个场景中,我保留了“SetBrightness”命令将其设置为 0 之前的亮度值,这也可以作为关闭灯的信号。

要求:

{
   "directive":{
      "header":{
         "namespace":"Alexa.BrightnessController",
         "name":"SetBrightness",
         "messageId":"fed54fb1-a40e-42c5-819d-53894fb19fd8",
         "correlationToken":"ctooken",
         "payloadVersion":"3",
         "endpoint":{
            "scope":{
               "type":"BearerToken",
               "token":"token",
               "endpointId":"b38d964c-0b55-4b9a-8c0c-c537721bd2e5",
               "cookie":{},
               "payload":{
                  "brightness":0
               }
            }
         }
      }
   }
}

回应:

{
   "event":{
      "header":{
         "namespace":"Alexa",
         "name":"Response",
         "messageId":"fed54fb1-a40e-42c5-819d-53894fb19fd8-R",
         "correlationToken":"ctoken",
         "payloadVersion":"",
         "endpoint":{
            "endpointId":"b38d964c-0b55-4b9a-8c0c-c537721bd2e5",
            "scope":{
               "token":"token",
               "type":"BearerToken"
            },
            "payload":{},
            "context":{
               "properties":[
                  {
                     "namespace":"Alexa.BrightnessController",
                     "value":75,
                     "name":"brightness",
                     "timeOfSample":"2023-09-08T05:30:10.410Z",
                     "uncertaintyInMilliseconds":3000
                  },
                  {
                     "namespace":"Alexa.PowerController",
                     "value":"OFF,
                     "name":"powerState",
                     "timeOfSample":"2023-09-08T05:30:10.410Z",
                     "uncertaintyInMilliseconds":3000
                  }
               ]
            }
         }
      }
   }
}

运行测试时,我从 https://developer.amazon.com/alexa/console

开始

错误:

"The endpoint could not be set to the Initial States required by the Test Case."

场景2: 假设初始亮度设置为100。

在第二种情况下,我将亮度设置为“SetBrightness”命令中指定的值。如果命令指示将亮度设置为 0,我将报告亮度值为零并关闭灯。

要求:

{
  "directive": {
    "header": {
      "namespace": "Alexa.BrightnessController",
      "name": "SetBrightness",
      "messageId": "fed54fb2-a40e-42c5-819d-53894fb19fd8",
      "correlationToken": "ctooken",
      "payloadVersion": "3",
      "endpoint": {
        "scope": {
          "type": "BearerToken",
          "token": "token-",
          "endpointId": "b38d964c-0b55-4b9a-8c0c-c537721bd2e5",
          "cookie": {},
          "payload": {
            "brightness": 0
          }
        }
      }
    }
  }
}

回应:

{
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "Response",
      "messageId": "fed54fb1-a40e-42c5-819d-53894fb19fd8-R",
      "correlationToken": "ctoken",
      "payloadVersion": "3",
      "endpoint": {
        "endpointId": "b38d964c-0b55-4b9a-8c0c-c537721bd2e5",
        "scope": {
          "token": "token",
          "type": "BearerToken"
        },
        "payload": {},
        "context": {
          "properties": [
            {
              "namespace": "Alexa.BrightnessController",
              "value": 0,
              "name": "brightness",
              "timeOfSample": "2023-09-08T05:30:10.410Z",
              "uncertaintyInMilliseconds": 3000
            },
            {
              "namespace": "Alexa.PowerController",
              "value": "OFF",
              "name": "powerState",
              "timeOfSample": "2023-09-08T05:30:10.410Z",
              "uncertaintyInMilliseconds": 3000
            }
          ]
        }
      }
    }
  }
}

评估结果错误:

{
            "name": "DevRe_9.1",
            "status": "FAILED",
            "expectedCapabilityStates": [
                {
                    "namespace": "Alexa.BrightnessController",
                    "name": "brightness",
                    "value": 100
                }
            ],
            "directive": {
                "header": {
                    "namespace": "Alexa.PowerController",
                    "name": "TurnOn"
                },
                "payload": {}
            },
            "actualCapabilityStates": [
                {
                    "namespace": "Alexa.BrightnessController",
                    "name": "brightness",
                    "value": 0
                }
            ]
},

在上面的EvaluationResults中,在我看来它想要返回100,这是问题setBrightness=0之前的值。

这里的问题是,当将亮度设置为(0)零时,会发出什么预期响应? 稍后发出

ReportState
时预期值是多少?

alexa-skills-kit alexa-voice-service alexa-smart-home-skill
1个回答
0
投票

对于场景 1:您的技能只需设置 value=0 并将 value=0 发送回 Alexa。 SetBrightness 是来自 Alexa(用户)的请求,用于将您的设备值设置为特定值。 对于场景 2: 似乎测试期望设备在打开时返回 value=100。但是,如果在设备关闭(值=0)期间询问设备状态报告,则设备应以当前状态(值=0)响应。

© www.soinside.com 2019 - 2024. All rights reserved.