A API SDM é uma API REST que fornece vários métodos para visualizar características e executar comandos de traços para gerenciamento de dispositivos Google Nest. Use o token de acesso concedido durante o processo de autorização em cada chamada de API.
Características
A API SDM usa um modelo baseado em características para informações e funcionalidades de dispositivos. Consulte os guias de dispositivos individuais para ver quais características estão disponíveis para um dispositivo:
- Câmera
- Câmera (bateria)
- Câmera com Floodlight
- Câmera (com fio)
- Tela
- 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 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 característica individual. Consulte a lista de características completa 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 todas
as características disponíveis para uma estrutura ou dispositivo
autorizado pelo user , e um objeto "parentRelations", que representa o recurso pai
do recurso atual, seja uma estrutura ou um quarto.
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
Quando um dispositivo é autorizado para o SDM, o Google reconhece o dispositivo no Home Graph e gerencia o estado diretamente. Se você tem a integração com o Google Assistente como parte da sua oferta comercial:
- Não enviar solicitações de sincronização para dispositivos SDM
- Omita dispositivos SDM de todas as respostas a uma intent SYNC
Erros
Consulte a Referência de código de erro da API para ver a lista completa de códigos de erro.