Smart Device Management API

SDM API to interfejs API typu REST, który udostępnia różne metody wyświetlaj cechy i wykonuj polecenia trait do zarządzania Urządzenia Google Nest. Użyj tokena dostępu przyznanego podczas proces autoryzacji przy każdym wywołaniu interfejsu API.

Cechy

SDM API używa modelu opartego na cechach do podawania informacji o urządzeniu i funkcjonalności. Informacje o cechach znajdziesz w przewodnikach dotyczących poszczególnych urządzeń. na urządzenie:

Metody

Szczegółowe informacje znajdziesz w dokumentacji interfejsu API. wszystkich metod dostępnych w przypadku interfejsu SDM API.

executeCommand

Wykonuje polecenie na autoryzowanym urządzeniu.

Użyj wywołania POST do wykonania polecenia. Na przykład, żeby zmienić ustawienia termostatu tryb:

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

Dalsze przykłady poleceń można znaleźć w każdym odniesieniu do poszczególnych cech stronę. Zobacz pełną listę cech. .

get

Pobiera informacje o autoryzowanym budynku lub urządzeniu.

Wywołanie GET zwraca jedną odpowiedź z bieżącymi polami i wartościami dla wszystkich dostępnych cech domu lub urządzenia, user autoryzowany i „parentRelations” obiekt, który reprezentuje zasób nadrzędny bieżącego zasobu, czyli budynku lub pomieszczenia.

Na przykład Nest Thermostat może zwrócić :

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"
    }
  ]
}

lista

Wyświetla listę autoryzowanych struktur, pomieszczeń lub urządzeń.

Aby wyświetlić listę wszystkich obiektów, pomieszczeń lub urządzeń autoryzowanych w ramach pojedynczego dostępu wykonaj wywołanie GET względem odpowiedniego punktu końcowego zasobu:

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

Integracje z Asystentem Google

Gdy urządzenie zostanie autoryzowane do SDM, Google uzyska informacje o nim w domu Wykres i bezpośrednio zarządza jego stanem. Jeśli korzystasz z integracji z Asystentem Google w ramach oferty komercyjnej:

Błędy

Zapoznaj się z informacjami na temat kodu błędu interfejsu API w przypadku: pełną listę kodów błędów interfejsu API.