特征

SDM API 中的特征包括字段、命令和事件。

字段

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

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

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 中添加更多功能,我们无法保证某种设备类型在特定设备上会保持稳定。请改为使用为设备返回的 trait。

parentRelations

parentRelations 对象表示当前资源的父资源,可以是结构,也可以是房间。显示名对应于Info trait (对于具有结构父级的设备)或RoomInfo for a trait {/19/}设备。 }{2

命令

命令是与特征相关联的请求。例如,更改 Google Nest Thermostat 的当前模式或温度设置值。

命令通过 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
此特征属于支持 ECO 模式的 THERMOSTAT 设备类型。
ThermostatHvac
sdm.devices.traits.ThermostatHvac
此特征属于可报告 HVAC 详细信息的 THERMOSTAT 设备类型。
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
此特征属于支持门铃和相关按下事件的任何设备。