A API SDM é uma API REST que oferece vários métodos para visualizar e executar comandos de características para o gerenciamento de 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 características para informações e funcionalidades do dispositivo. Confira 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
- Campainha (bateria)
- Campainha (com fio)
- Termostato
Métodos
Consulte a Referência da API para ver detalhes completos sobre todos os métodos disponíveis para a API SDM.
executeCommand
Executa um comando para um dispositivo autorizado.
Use uma chamada POST
para executar um comando. Por exemplo, para mudar o termostato
modo:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Outros exemplos de comandos podem ser encontrados na página de referência de cada atributo. Veja 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 campos e valores atuais para todos
os atributos 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 sala.
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 as estruturas, salas 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 o SDM, o Google toma conhecimento do dispositivo no Google Home Criar gráficos e gerenciar o estado diretamente. Se você tiver a integração do Google Assistente como parte da sua oferta comercial:
- Não envie Solicitação de sincronização solicitações para dispositivos SDM
- Os dispositivos SDM não são omitidos de nenhuma resposta a uma intent SYNC.
Erros
Consulte a Referência do código de erro da API para a lista completa de códigos de erro da API.