特征

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 对象表示当前资源的父级资源, 无论是建筑物还是房间显示名称对应customName 信息特征 对于具有结构父级或 RoomInfo 特征 (适用于具有 聊天室父级。

命令

命令是与特征关联的请求。例如,更改当前模式或 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。

默认情况下,trait 字段的值发生更改时,系统会发送事件。您也可以通过 对特定设备操作或资源分配变化做出响应。请参阅 事件

特征类别

结构

特征
信息
sdm.structures.traits.Info
此 trait 属于结构相关信息的任何结构。
RoomInfo
sdm.structures.traits.RoomInfo
此 trait 属于任何房间相关信息。

设备

特征
畅连乐享
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
此特征属于支持不同温控器模式的 THERMOSTAT 设备类型。
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
此特征属于支持设置目标温度和温度范围的 THERMOSTAT 的设备类型。

相机

特征
CameraClipPreview
sdm.devices.traits.CameraClipPreview
此 trait 属于任何支持下载剪辑预览的设备。
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
此特征属于支持门铃电铃和相关按压事件的任何设备。