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 中添加更多功能,我们无法保证特定设备的设备类型将保持稳定。请改为使用设备返回的特征。
parentRelations
parentRelations
对象表示当前资源的父级资源,可以是结构,也可以是房间。显示名称对应于
信息 trait (对于具有结构父项的设备)或
RoomInfo trait 。
customName
命令
命令是与 trait 相关联的请求。例如,更改 Google Nest Thermostat 的当前模式或温度设定点。
通过 executeCommand
API 调用发送命令:
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "command-name",
"params" : {
"field" : "value"
}
}
对命令的大多数响应都是简单的成功或失败。如需查看特定命令用法示例,请参阅各个 trait 指南。
事件
事件是异步的,并由 Google Cloud Pub/Sub 进行管理,每个 Project ID 对应一个主题。
默认情况下,trait 字段的值发生更改时,系统会发送事件。它们也可以发送响应特定设备操作或资源分配变化。如需了解详情,请参阅事件。
特征类别
结构
trait |
信息 |
sdm.structures.traits.Info |
此 trait 属于任何结构,用于提供结构相关信息。 |
|
RoomInfo |
sdm.structures.traits.RoomInfo |
此 trait 属于任何房间,用于提供与房间相关的信息。 |
|
设备
trait |
连接 |
sdm.devices.traits.Connectivity |
此 trait 适用于具有连接信息的任何设备。 |
|
风扇 |
sdm.devices.traits.Fan |
此 trait 适用于具有系统风扇控制功能的任何设备。 |
|
湿度 |
sdm.devices.traits.Humidity |
此 trait 适用于任何具有测量湿度的传感器的设备。 |
|
信息 |
sdm.devices.traits.Info |
此 trait 属于任何设备,用于提供与设备相关的信息。 |
|
设置 |
sdm.devices.traits.Settings |
此 trait 属于任何设备,用于提供与设备相关的设置信息。 |
|
温度 |
sdm.devices.traits.Temperature |
此 trait 适用于任何具有温度测量传感器的设备。 |
|
温控器
trait |
ThermostatEco |
sdm.devices.traits.ThermostatEco |
此 trait 属于支持 ECO 模式的温控器设备类型。 |
|
ThermostatHvac |
sdm.devices.traits.ThermostatHvac |
此特征属于可以报告 HVAC 详情的 THERMOSTAT 设备类型。 |
|
ThermostatMode |
sdm.devices.traits.ThermostatMode |
此 trait 属于支持不同温控器模式的 THERMOSTAT 设备类型。 |
|
ThermostatTemperatureSetpoint |
sdm.devices.traits.ThermostatTemperatureSetpoint |
此 trait 属于支持设置目标温度和温度范围的温控器设备类型。 |
|
相机
特征 |
CameraClipPreview |
sdm.devices.traits.CameraClipPreview |
此 trait 适用于支持下载剪辑预览的任何设备。 |
|
CameraEventImage |
sdm.devices.traits.CameraEventImage |
此 trait 属于支持根据事件生成图片的任何设备。 |
|
CameraImage |
sdm.devices.traits.CameraImage |
此 trait 属于支持拍照的任何设备。 |
|
CameraLiveStream |
sdm.devices.traits.CameraLiveStream |
此 trait 适用于任何支持直播的设备。 |
|
CameraMotion |
sdm.devices.traits.CameraMotion |
此 trait 属于支持运动检测事件的任何设备。 |
|
CameraPerson |
sdm.devices.traits.CameraPerson |
此特征属于支持人员检测事件的任何设备。 |
|
CameraSound |
sdm.devices.traits.CameraSound |
此 trait 属于支持声音检测事件的任何设备。 |
|
门铃
trait |
DoorbellChime |
sdm.devices.traits.DoorbellChime |
此 trait 适用于支持门铃铃声和相关按压事件的任何设备。 |
|