智能家居旋转特征架构

action.devices.traits.Rotation - 此 trait 属于支持旋转的设备。

旋转可以用百分比或角度指定,如果设备支持旋转 角度,则默认旋转方向为顺时针。

设备属性

具有此特征的设备可能会报告以下内容 作为 SYNC 操作的一部分。学习内容 有关处理 SYNC intent 的更多信息,请参阅 intent 执行方式

属性 类型 说明
supportsDegrees 布尔值

必填。

如果设备允许按角度旋转,则设为 true。

supportsPercent 布尔值

必填。

如果设备允许按百分比旋转,则设置为 true

rotationDegreesRange 对象

以度为单位表示设备可以旋转的范围。

rotationDegreesMin 编号

必填。

最小旋转度(以度为单位)。

rotationDegreesMax 编号

必填。

最大旋转度(以度为单位)。

supportsContinuousRotation 布尔值

(默认值:false

如果设备允许持续旋转,则设为 true。给定相对查询时,RotateAbsolute 命令将环绕支持的旋转范围。

commandOnlyRotation 布尔值

(默认值:false

指示设备支持使用单向 (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 编号

rotationDegreesRange 内的当前水平,表示设备的旋转度数。该值应始终相对于顺时针旋转角度。

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 编号

必填。

绝对值(以度为单位),用于指定设备的最终顺时针旋转度。值必须在 rotationDegreesRange 属性范围内。

设置绝对旋转百分比(以百分比表示)。

参数 类型 说明
rotationPercent 编号

必填。

绝对值(以百分比表示),用于指定设备的最终旋转角度。

示例

将设备倾斜到百分之 50。

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationPercent": 50
  }
}

将设备逆时针旋转 15 度 (rotationDegrees: 45)。

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 30
  }
}

将设备顺时针旋转 100 度(supportsContinuousRotation: truerotationDegrees: 270)。

{
  "command": "action.devices.commands.RotateAbsolute",
  "params": {
    "rotationDegrees": 10
  }
}

设置设备旋转时出错。

支持的值:

deviceJammingDetected

设备错误

查看完整列表 错误和异常