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 トレイト 、部屋親を持つデバイスの場合は
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 ごとに 1 つのトピックで管理されます。
デフォルトでは、特徴フィールドの値が変更されるとイベントが送信されます。特定のデバイス アクションやリソース割り当ての変更に応じて送信することもできます。詳しくは、イベント をご覧ください。
トレイトのカテゴリ
構造
トレイト
情報
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
このトレイトは、エコモードをサポートするサーモスタットのデバイスタイプに使用します。
ThermostatHvac
sdm.devices.traits.ThermostatHvac
このトレイトは、暖房換気空調システムの詳細を報告できるサーモスタット デバイス タイプに使用します。
ThermostatMode
sdm.devices.traits.ThermostatMode
このトレイトは、さまざまなサーモスタット モードをサポートするサーモスタットのデバイスタイプに使用します。
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
このトレイトは、ドアホンのチャイムと関連する押下イベントをサポートするデバイスに使用します。