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
物件代表目前資源的父項資源,無論是結構或會議室。針對具有結構父項的裝置,或是具有結構父項的
RoomInfo trait ;如果是具有結構父項的裝置,則顯示名稱會對應至
指令
指令是與特徵相關聯的要求。例如變更 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 |
這項特徵屬於可回報空調詳細資料的 THERMOSTAT 裝置類型。 |
|
ThermostatMode |
sdm.devices.traits.ThermostatMode |
這類特徵屬於 THERMOSTAT 裝置類型支援不同溫度控制器模式的裝置類型。 |
|
ThermostatTemperatureSetpoint |
sdm.devices.traits.ThermostatTemperatureSetpoint |
這項特徵屬於可設定目標溫度和溫度範圍的 THERMOSTAT 裝置類型。 |
|
相機
性狀 |
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 |
這項特徵屬於任何支援門鈴鈴聲及相關媒體事件的裝置。 |
|