智能家居窗帘指南
action.devices.types.BLINDS - 卷帘可以打开和关闭,支持多种类型的卷帘,例如百叶帘(单向打开)、板式或立式帘(可以向左或向右打开)、上下开合的卷帘(可以向上或向下打开)。某些百叶窗可能带有可旋转的板条。
此类型表示设备会获得“百叶窗”图标以及一些相关的同义词和别名。
设备功能
如需了解实现细节(例如服务应支持的属性和状态,以及如何构建 EXECUTE 和 QUERY 响应),请参阅相应的功能特征文档。
所需特征
如果这些特征和命令适用于您的设备,则必须实现它们。如果设备不支持这些特征,请在 QUERY 或 EXECUTE 响应中输入错误代码 functionNotSupported。如需了解详情,请参阅错误和异常。
推荐的特征
如果这些特征适用于您的设备,建议您实现它们。 不过,您可以随意组合所有可用的特征,以最符合您现有产品的功能。
示例设备:简单百叶窗
此部分包含示例 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" } ] } } ] } }