La API de SDM es una API de REST que proporciona varios métodos para ver rasgos y ejecutar comandos de rasgos para administrar Dispositivos Google Nest Usa el token de acceso otorgado durante el proceso de autorización con cada llamada a la API.
Rasgos
La API de SDM usa un modelo basado en rasgos para la información del dispositivo y la funcionalidad. Consulta las guías de dispositivos individuales para ver qué atributos están disponibles para un dispositivo:
- Cámara
- Cámara (con batería)
- Cámara con reflector
- Cámara (con cable)
- Pantalla
- Timbre
- Timbre (con batería)
- Timbre (con cable)
- Termostato
Métodos
Consulta la referencia de la API para obtener detalles completos sobre todos los métodos disponibles para la API de SDM.
executeCommand
Ejecuta un comando en un dispositivo autorizado.
Usa una llamada a POST
para ejecutar un comando. Por ejemplo, para cambiar el termostato
modo:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Puedes encontrar más ejemplos de comandos en cada referencia de característica individual. . Consulta la lista de características completa. para obtener más información.
get
Obtiene información sobre una estructura o un dispositivo autorizado.
Una llamada GET
muestra una sola respuesta con los campos y valores actuales para todos.
características disponibles para una estructura o dispositivo que user tiene
autorizado y una "relación parental" que representa el recurso superior
del recurso actual, ya sea una estructura o una sala.
Por ejemplo, un Nest Thermostat podría mostrar lo siguiente:
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
Muestra una lista de las estructuras, las salas o los dispositivos autorizados.
Para enumerar todas las estructuras, salas o dispositivos autorizados con un solo token de acceso, realiza una llamada GET
al extremo de recursos correspondiente:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Integraciones con Asistente de Google
Una vez que se autoriza un dispositivo para SDM, Google lo reconoce en Home Representa gráficamente y administra su estado directamente. Si tienes Asistente de Google integrado como parte de tu oferta comercial:
- No enviar Solicitar sincronización solicitudes para dispositivos SDM
- Omite los dispositivos SDM de cualquier respuesta a un intent de SYNC.
Errores
Consulta la Referencia de códigos de error de la API para obtener la lista completa de códigos de error de la API.