欢迎使用 Google Home 开发者中心,您可以在这里学习有关如何开发智能家居 Action 的新平台。注意:你将继续在 Actions 控制台中构建操作。
使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

智能家居旋转特征架构

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

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

设备属性

具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅 intent 执行方式

属性 类型 说明
supportsDegrees Boolean

必填。

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

supportsPercent Boolean

必填。

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

rotationDegreesRange 对象

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

rotationDegreesMin 编号

必填。

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

rotationDegreesMax 编号

必填。

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

supportsContinuousRotation Boolean

(默认值:false

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

commandOnlyRotation Boolean

(默认值: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 对应于打开。

示例

设备的旋转角度是多少?(百分比和角度)。

{
  "rotationDegrees": 45,
  "rotationPercent": 25
}

设备的旋转角度是多少?(仅限度数)。

{
  "rotationDegrees": 45
}

设备的旋转角度是多少?(连续)。

{
  "rotationDegrees": 270,
  "rotationPercent": 75
}

设备命令

具有此特征的设备可能会在 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

设备出错

查看错误和异常的完整列表。