特征

SDM API 中的特征包含字段命令事件

字段

字段是具有常见数据类型(例如数字或字符串)的值。例如,某个字段可能包含 Google Nest 温控器的当前模式或环境湿度。

您可以通过 GET 调用所需 API 端点来查看特征和字段:

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.device-type",
  "traits" : { ... },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

设备类型

不应使用 SDM API 返回的 sdm.devices.types.device-type 来推断或推断其所分配到的实际设备的功能。随着更多功能添加到 SDM API 中,无法保证设备类型对于特定设备会保持稳定。而是使用设备的返回特征。

parentRelations

parentRelations 对象表示当前资源的父资源,可以是结构或房间。显示名称对应于具有结构父级的设备的Info 特征 ,或具有房间父级的设备的RoomInfo 特征

命令

命令是与特征相关联的请求。例如,更改 Google Nest 温控器上的当前模式或温度设定点。

通过 executeCommand API 调用发送命令:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "command-name",
  "params" : {
    "field" : "value"
  }
}

对命令的大多数响应都是简单的成功或失败。如需查看具体命令使用示例,请参阅各个特征指南。

事件

事件是异步的,并由 Google Cloud Pub/Sub 在每个 Project ID 的单个主题中进行管理。

默认情况下,只要特征字段的值发生任何变化,系统就会发送事件。它们也可以在响应特定设备操作或资源分配变化时发送。如需了解详情,请参阅活动

特征类别

结构

特征
信息
sdm.structures.traits.Info
此特征属于任何用于结构相关信息的结构。
RoomInfo
sdm.structures.traits.RoomInfo
此特征属于任何房间,用于提供与房间相关的信息。

设备

特征
连接
sdm.devices.traits.Connectivity
此特征属于具有连接信息的任何设备。
风扇
sdm.devices.traits.Fan
此特征属于任何具有控制风扇的系统能力的设备。
湿度
sdm.devices.traits.Humidity
此特征属于任何具有湿度测量传感器的设备。
信息
sdm.devices.traits.Info
此特征属于任何设备,用于提供设备相关信息。
设置
sdm.devices.traits.Settings
此特征属于任何设备,用于提供与设备相关的设置信息。
温度
sdm.devices.traits.Temperature
此特征属于任何具有温度测量传感器的设备。

温控器

特征
ThermostatEco
sdm.devices.traits.ThermostatEco
此特征属于支持节能模式的温控器设备类型。
ThermostatHvac
sdm.devices.traits.ThermostatHvac
此特征属于可以报告 HVAC 详细信息的温控器设备类型。
ThermostatMode
sdm.devices.traits.ThermostatMode
此特征属于支持不同温控器模式的温控器设备类型。
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
此特征属于支持设置目标温度和温度范围的温控器设备类型。

相机

特征
CameraClipPreview
sdm.devices.traits.CameraClipPreview
此特征属于支持下载片段预览的任何设备。
CameraEventImage
sdm.devices.traits.CameraEventImage
此特征属于支持根据事件生成图片的任何设备。
CameraImage
sdm.devices.traits.CameraImage
此特征属于支持拍摄图片的任何设备。
CameraLiveStream
sdm.devices.traits.CameraLiveStream
此特征属于支持直播的任何设备。
CameraMotion
sdm.devices.traits.CameraMotion
此特征属于支持运动检测事件的任何设备。
CameraPerson
sdm.devices.traits.CameraPerson
此特征属于支持人员检测事件的任何设备。
CameraSound
sdm.devices.traits.CameraSound
此特征属于支持声音检测事件的任何设备。

门铃

特征
DoorbellChime
sdm.devices.traits.DoorbellChime
此特征属于支持门铃响铃和相关按压事件的任何设备。