A API SDM é uma API REST que oferece vários métodos para visualizar características e executar comandos de características para gerenciar dispositivos Google Nest. Use o token de acesso concedido durante o processo de autorização com cada chamada de API.
Características
A API SDM usa um modelo baseado em traços para informações e funcionalidades do dispositivo. Consulte os guias de dispositivos individuais para saber quais características estão disponíveis para um dispositivo:
- Câmera
- Câmera (bateria)
- Câmera com holofote
- Câmera (com fio)
- Display
- Campainha
- Nest Doorbell (com bateria)
- Campainha (com fio)
- Termostato
Métodos
Consulte a referência da API para ver todos os detalhes sobre os métodos disponíveis para a API SDM.
executeCommand
Executa um comando em um dispositivo autorizado.
Use uma chamada POST
para executar um comando. Por exemplo, para mudar o modo do termostato:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Outros exemplos de comandos podem ser encontrados em cada página de referência de traço individual. Consulte a lista completa de características para mais informações.
get
Recebe informações sobre uma estrutura ou um dispositivo autorizado.
Uma chamada GET
retorna uma única resposta com os campos e valores atuais de todas as características disponíveis para uma estrutura ou dispositivo que o user autorizou e um objeto "parentRelations", que representa o recurso pai do recurso atual, seja uma estrutura ou um ambiente.
Por exemplo, um Nest Thermostat pode retornar o seguinte:
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
Lista estruturas, ambientes ou dispositivos autorizados.
Para listar todas as estruturas, salas ou dispositivos autorizados com um único token
de acesso, faça uma chamada GET
no endpoint de recurso apropriado:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Integrações do Google Assistente
Depois que um dispositivo é autorizado para SDM, o Google fica ciente dele no HomeGraph e gerencia o estado diretamente. Se você tiver a integração com o Google Assistente como parte da sua oferta comercial:
- Não envie solicitações de sincronização de solicitação para dispositivos SDM
- Omitir dispositivos SDM de qualquer resposta a uma intenção SYNC
Erros
Consulte a Referência de códigos de erro da API para conferir a lista completa de códigos de erro da API.