特征
SDM API 中的特征 包含字段 、命令 和事件 。
对 SDM API 的所有调用都应使用以下端点:https://smartdevicemanagement.googleapis.com/v1
字段
字段是具有常见数据类型(例如数字或字符串)的值。例如,某个字段可能包含 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
对象表示当前资源的父资源,可以是结构或房间。对于具有结构体父级的设备,显示名称对应于
Info trait ;对于具有房间父级的设备,显示名称对应于
RoomInfo trait 。
命令
命令是与 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
此 trait 属于可报告 HVAC 详细信息的温控器设备类型。
ThermostatMode
sdm.devices.traits.ThermostatMode
此 trait 属于支持不同温控器模式的 THERMOSTAT 设备类型。
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
此 trait 属于支持设置目标温度和温度范围的温控器设备类型。
相机
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
此 trait 属于支持人体检测事件的任何设备。
CameraSound
sdm.devices.traits.CameraSound
此 trait 属于支持声音检测事件的任何设备。
门铃
trait
DoorbellChime
sdm.devices.traits.DoorbellChime
此 trait 适用于支持门铃铃声和相关按压事件的任何设备。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-25。
[null,null,["最后更新时间 (UTC):2025-01-25。"],[[["The Smart Device Management API allows you to interact with Nest devices through traits, commands, and events."],["Traits represent device capabilities and their associated data, such as temperature or humidity, and are categorized by device type like Thermostat or Camera."],["Commands are used to control devices, for instance, changing the thermostat mode, while events provide asynchronous notifications about device state changes."],["You can access device information and traits through a GET request to the specified API endpoint using the device ID."],["Google Cloud Pub/Sub manages events and delivers them to a dedicated topic for each project ID, allowing you to stay updated on device activity."]]],[]]