La API de SDM es una API de REST que proporciona varios métodos para ver atributos y ejecutar comandos de atributos para la administración de 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 atributos para la información y funcionalidad del dispositivo. Consulta las guías de dispositivos individuales para ver cuáles son sus características 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.
EjecutarComando
Ejecuta un comando a 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 página de referencia de rasgos individual. Consulta la lista de características completa. para obtener más información.
get
Obtiene información sobre una estructura o un dispositivo autorizados.
Una llamada a GET
muestra una sola respuesta con los campos y valores actuales de todos los atributos disponibles para una estructura o un dispositivo que user autorizó y un objeto "parentRelations", que representa el recurso superior del recurso actual, ya sea una estructura o una habitación.
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 habitaciones o los dispositivos autorizados.
Para mostrar una lista de 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 de Asistente de Google
Una vez que un dispositivo está autorizado para la SDM, Google lo detecta en Home Graph y administra su estado directamente. Si tienes la integración de Asistente de Google como parte de tu oferta comercial, haz lo siguiente:
- No envíes solicitudes de sincronización 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 API para la lista completa de códigos de error de API.