智能家居百叶窗指南
action.devices.types.BLINDS
- 卷帘可以打开和关闭,支持多种类型的卷帘,例如百叶窗(向一个方向打开)、板式或立式帘(可以向左或向右打开),以及自上而下打开(可以向上或向下打开)。某些百叶窗可能带有可旋转的板条。
此类型表示设备会获得 Blinds 图标以及一些相关的同义词和别名。
设备功能
如需了解实现详情(例如您的服务应支持的属性和状态),以及如何构建 EXECUTE 和 QUERY 响应,请参阅相应的特征文档。
必需的特征
这些特征和命令是必需的(如果适用于您的设备)。如果您的设备不支持这些特征,请在 QUERY 或 EXECUTE 响应中输入错误代码 functionNotSupported
。如需了解详情,请参阅错误和异常。
推荐的特征
如果适用于你的设备,建议启用这些特征。 不过,您可以随意组合和匹配所有可用特征,以便与现有产品功能完美匹配。
质量要求
- 延迟时间:必须小于或等于 2500 毫秒。
- 可靠性:必须大于或等于 97%。
示例设备:简易百叶窗
本部分包含代表基于上述设备类型和特征的常见“百叶窗”的示例 intent 载荷。如果您在实现中添加或移除特征,请相应地修改响应以反映这些更改。
在自上而下、自下而上的百叶窗中,UP
方向会升起百叶窗的底部,DOWN
方向会使百叶窗的顶部降低。图 1 显示了一个自上而下、自下而上的百叶窗的示例,其中 UP
方向将百叶窗的底部向上举了 50%,DOWN
方向将百叶窗的顶部降低了 30%。
SYNC 响应示例
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.BLINDS", "traits": [ "action.devices.traits.OpenClose" ], "name": { "name": "Simple blinds" }, "willReportState": true, "attributes": { "openDirection": [ "UP", "DOWN" ] }, "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, "openState": [ { "openPercent": 30, "openDirection": "DOWN" }, { "openPercent": 50, "openDirection": "UP" } ] } } } }
EXECUTE 命令示例
OpenClose
如需详细了解命令参数,请参阅
action.devices.traits.OpenClose
参考文档。
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenClose", "params": { "openPercent": 10, "openDirection": "DOWN" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "openState": [ { "openPercent": 10, "openDirection": "DOWN" }, { "openPercent": 50, "openDirection": "UP" } ] } } ] } }