智能家居温控器指南
action.devices.types.THERMOSTAT
- 温控器属于温度管理设备,具有设定的点和模式。这将它们与加热器和空调设备区分开来,后者可能只具有模式和设置(例如,高/低),但不能设置温度目标值。
此类型表示设备会获得温控器图标以及一些相关的近义词和别名。
此类设备可控制温度,而某些供暖/制冷室内装置具有不同的控件和高/低模式,但没有温度控件。设备功能
如需了解实现详情(例如您的服务应支持的属性和状态,以及如何构建 EXECUTE 和 QUERY 响应),请参阅相应的 trait 文档。
必需的特征
这些 trait 和命令是必需的(如果适用于您的设备)。如果您的设备不支持这些 trait,请在 QUERY 或 EXECUTE 响应中输入 functionNotSupported
错误代码。如需了解详情,请参阅错误和异常。
温控器命令通常在 EXECUTE
intent 中串联。如果用户说“将供暖设为 72”,系统会生成一个模式命令,后跟温度设置。
质量要求
- 延迟时间:必须小于或等于 700 毫秒。
- 可靠性:必须大于或等于 97%。
设备示例:简单温控器
本部分包含基于上述设备类型和特征的常见“温控器”intent 载荷示例。如果您在实现中添加或移除 trait,请相应地修改响应以反映这些更改。
SYNC 响应示例
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.THERMOSTAT", "traits": [ "action.devices.traits.TemperatureSetting" ], "name": { "name": "Simple thermostat" }, "willReportState": true, "attributes": { "availableThermostatModes": [ "off", "heat", "cool", "heatcool", "on" ], "thermostatTemperatureRange": { "minThresholdCelsius": 15, "maxThresholdCelsius": 30 }, "thermostatTemperatureUnit": "F" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
QUERY 响应示例
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 23, "thermostatTemperatureAmbient": 25.1, "thermostatHumidityAmbient": 45.3 } } } }
EXECUTE 命令示例
ThermostatTemperatureSetpoint
如需详细了解命令参数,请参阅
action.devices.traits.TemperatureSetting
参考文档。
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetpoint", "params": { "thermostatTemperatureSetpoint": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatTemperatureSetRange
如需详细了解命令参数,请参阅
action.devices.traits.TemperatureSetting
参考文档。
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetRange", "params": { "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatSetMode
如需详细了解命令参数,请参阅
action.devices.traits.TemperatureSetting
参考文档。
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatSetMode", "params": { "thermostatMode": "heatcool" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
设备错误
查看错误和异常的完整列表。inHeatOrCool
- 由于设备处于明确的制热或制冷模式,因此“制热/制冷/范围”命令失败。inHeatCool
- 由于设备处于供暖或制冷模式,因此“供暖”或“制冷”命令失败。lockedToRange
- 设备已锁定到某个温度范围或模式,无法进行请求的更改。rangeTooClose
- 制热/制冷范围内的温度点相距过近。