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:
- Aparat
- Aparat (na baterie)
- Kamera z Floodlight
- Aparat (przewodowy)
- Wyświetlacz
- Dzwonek
- Dzwonek (na baterie)
- Dzwonek (przewodowy)
- Termostat
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:
- Nie wysyłaj żądania synchronizacji żądań do urządzeń SDM
- Pomiń urządzenia SDM w odpowiedziach na format SYNC intencja
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.