You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Alexa智能家居技能自定义模式指定JSON的配置位置

正确配置Alexa自定义温控模式的位置

我之前也踩过这个坑!你提供的自定义模式JSON不能直接放在Alexa.ThermostatController接口的根层级,而是要嵌套在该接口的configuration.supportedModes数组中——这才是Alexa识别自定义温控模式的正确位置。

为什么之前的配置没生效?

你可能把自定义模式的JSON直接加到了Alexa.ThermostatController接口的配置字段根下,但Alexa要求所有支持的模式(包括内置和自定义)都必须放在supportedModes数组的条目里,每个条目对应一种模式类型。

完整的设备发现响应示例

下面是包含自定义模式的正确发现响应结构,重点看Alexa.ThermostatController的configuration部分:

{
  "event": {
    "header": {
      "namespace": "Alexa.Discovery",
      "name": "Discover.Response",
      "payloadVersion": "3",
      "messageId": "unique-message-id-here"
    },
    "payload": {
      "endpoints": [
        {
          "endpointId": "your-thermostat-unique-id",
          "friendlyName": "Bedroom Thermostat",
          "description": "Smart Wi-Fi Thermostat",
          "manufacturerName": "Your Brand Name",
          "displayCategories": ["THERMOSTAT"],
          "capabilities": [
            {
              "type": "AlexaInterface",
              "interface": "Alexa.ThermostatController",
              "version": "3",
              "properties": {
                "supported": [
                  { "name": "targetSetpoint" },
                  { "name": "thermostatMode" }
                ],
                "proactivelyReported": true,
                "retrievable": true
              },
              "configuration": {
                "supportedModes": [
                  // 内置模式示例
                  {
                    "name": "thermostatMode",
                    "value": { "value": "HEAT" }
                  },
                  {
                    "name": "thermostatMode",
                    "value": { "value": "COOL" }
                  },
                  // 你的自定义模式配置,放在这个数组里!
                  {
                    "name": "thermostatMode",
                    "value": {
                      "value": "CUSTOM",
                      "customName": "VENDOR_HEAT_COOL"
                    }
                  }
                ]
              }
            },
            {
              "type": "AlexaInterface",
              "interface": "Alexa",
              "version": "3"
            }
          ]
        }
      ]
    }
  }
}

额外注意事项

  • 确保customName是你技能内部唯一的标识符,后续处理Alexa的模式切换指令时,请求payload会携带这个值,你需要对应处理
  • 确认发现响应的payloadVersion为3,这是Alexa智能家居技能的最新标准版本
  • 必须在properties.supported中声明thermostatMode属性,否则Alexa不会识别设备的模式控制能力
  • 自定义模式的customName建议使用大写字母加下划线的格式,避免和内置模式名称冲突

内容的提问来源于stack exchange,提问作者Nidhish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:45:37