Smart Device Management API

SDM API は、さまざまなメソッドを提供する REST API です。 トレイトを表示し、トレイト コマンドを実行して Google Nest デバイス。期間中に付与されたアクセス トークンを 認証プロセスを認可します。

トレイト

SDM API は、トレイトベースのモデルを使用してデバイス情報を取得します。 説明します。各デバイスのガイドでトレイトを確認する 次のとおりです。

メソッド

詳細については、API リファレンスをご覧ください。 SDM API で利用可能なすべてのメソッドを サポートしています

executeCommand

承認されたデバイスに対してコマンドを実行します。

POST 呼び出しを使用してコマンドを実行します。たとえば、サーモスタットの mode:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

コマンドのその他の例については、各トレイトのリファレンスをご覧ください。 できます。トレイトの一覧をご覧ください。 をご覧ください。

get

承認済みのストラクチャやデバイスに関する情報を取得します。

GET を呼び出すと、すべての現在のフィールドと値を含む 1 つのレスポンスが返されます。 ストラクチャやデバイスで使用可能なトレイトを user 「parentRelations」というプロパティは親リソースを表す 構造または部屋です。

たとえば、Google Nest Thermostat が 次のとおりです。

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.THERMOSTAT",
  "assignee" : "enterprises/project-id/structures/structure-id/rooms/room-id",
  "traits" : {
    "sdm.devices.traits.Connectivity" : {
      "status" : "ONLINE"
    },
    "sdm.devices.traits.Fan" : {
      "timerMode" : "ON",
      "timerTimeout" : "2019-05-10T03:22:54Z"
    },
    "sdm.devices.traits.Humidity" : {
      "ambientHumidityPercent" : 35.0
    },
    "sdm.devices.traits.Info" : {
      "customName" : "My device"
    },
    "sdm.devices.traits.Settings" : {
      "temperatureScale" : "CELSIUS"
    },
    "sdm.devices.traits.Temperature" : {
      "ambientTemperatureCelsius" : 23.0
    },
    "sdm.devices.traits.ThermostatEco" : {
      "availableModes" : ["MANUAL_ECO", "OFF"],
      "mode" : "MANUAL_ECO",
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    },
    "sdm.devices.traits.ThermostatHvac" : {
      "status" : "HEATING"
    },
    "sdm.devices.traits.ThermostatMode" : {
      "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"],
      "mode" : "COOL"
    },
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

list

承認済みのストラクチャ、部屋、デバイスの一覧が表示されます。

1 回のアクセスで承認されたすべてのストラクチャ、部屋、デバイスを一覧表示する 適切なリソース エンドポイントに対して GET 呼び出しを行います。

GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices

Google アシスタントの統合

デバイスが SDM で承認されると、Google は Google Home でそのデバイスを認識する 状態を直接グラフ化して管理します。Google アシスタントを統合している場合 次の要件を満たす必要があります。

エラー

詳しくは、API エラーコード リファレンスをご覧ください。 API エラーコードの完全なリスト。