智能家居旋转特征架构
action.devices.traits.Rotation
- 此 trait 属于支持旋转的设备。
旋转可以用百分比或角度指定,如果设备支持旋转 角度,则默认旋转方向为顺时针。
设备属性
具有此特征的设备可能会报告以下内容
作为 SYNC
操作的一部分。学习内容
有关处理 SYNC
intent 的更多信息,请参阅
intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
supportsDegrees |
布尔值 |
必填。 如果设备允许按角度旋转,则设为 true。 |
supportsPercent |
布尔值 |
必填。 如果设备允许按百分比旋转,则设置为 true |
rotationDegreesRange |
对象 |
以度为单位表示设备可以旋转的范围。 |
rotationDegreesMin |
编号 |
必填。 最小旋转度(以度为单位)。 |
rotationDegreesMax |
编号 |
必填。 最大旋转度(以度为单位)。 |
supportsContinuousRotation |
布尔值 |
(默认值: 如果设备允许持续旋转,则设为 true。给定相对查询时, |
commandOnlyRotation |
布尔值 |
(默认值: 指示设备支持使用单向 (true) 还是双向 (false) 通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。 |
示例
支持百分比和角度旋转的设备。
{ "supportsDegrees": true, "supportsPercent": true, "rotationDegreesRange": { "rotationDegreesMin": 0, "rotationDegreesMax": 180 } }
仅支持以度为单位旋转的设备。
{ "supportsDegrees": true, "supportsPercent": false, "rotationDegreesRange": { "rotationDegreesMin": 0, "rotationDegreesMax": 90 } }
仅支持持续旋转命令的设备。
{ "supportsDegrees": true, "supportsPercent": true, "rotationDegreesRange": { "rotationDegreesMin": 0, "rotationDegreesMax": 360 }, "supportsContinuousRotation": true, "commandOnlyRotation": true }
设备状态
具有此特征的实体可能会报告以下内容
QUERY
操作包含的指定状态。学习内容
有关处理 QUERY
intent 的更多信息,请参阅
intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
rotationDegrees |
编号 |
|
rotationPercent |
编号 |
当前水平,指示设备当前旋转的百分比。0.0 对应闭合,100.0 对应开门。 |
targetRotationPercent |
编号 |
水平,用于指示设备由于旋转方向持续变化而将要转到或将要转到的旋转百分比。 |
示例
设备旋转了多少?(百分比和度)。
{ "rotationDegrees": 45, "rotationPercent": 25 }
设备旋转了多少?(仅限度数)。
{ "rotationDegrees": 45 }
设备旋转了多少?(连续)。
{ "rotationDegrees": 270, "rotationPercent": 75 }
当前旋转到新位置的设备(百分比)。
{ "rotationPercent": 75, "targetRotationPercent": 100 }
设备命令
具有此特征的设备可能会响应以下内容
作为 EXECUTE
操作的一部分。学习内容
有关处理 EXECUTE
intent 的更多信息,请参阅
intent 执行方式。
action.devices.commands.RotateAbsolute
设置设备的绝对旋转角度。
参数
载荷包含以下内容之一:
设置绝对旋转角度(以度为单位)。
参数 | 类型 | 说明 |
---|---|---|
rotationDegrees |
编号 |
必填。 绝对值(以度为单位),用于指定设备的最终顺时针旋转度。值必须在 |
设置绝对旋转百分比(以百分比表示)。
参数 | 类型 | 说明 |
---|---|---|
rotationPercent |
编号 |
必填。 绝对值(以百分比表示),用于指定设备的最终旋转角度。 |
示例
将设备倾斜到百分之 50。
{ "command": "action.devices.commands.RotateAbsolute", "params": { "rotationPercent": 50 } }
将设备逆时针旋转 15 度 (rotationDegrees: 45
)。
{ "command": "action.devices.commands.RotateAbsolute", "params": { "rotationDegrees": 30 } }
将设备顺时针旋转 100 度(supportsContinuousRotation: true
,rotationDegrees: 270
)。
{ "command": "action.devices.commands.RotateAbsolute", "params": { "rotationDegrees": 10 } }
相关错误
设置设备旋转时出错。
支持的值:
deviceJammingDetected