智能家居百叶窗指南
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" } ] } } ] } }