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 que se otorgó 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 y la funcionalidad del dispositivo. Consulta las guías de dispositivos individuales para ver qué rasgos están disponibles para un dispositivo:
- Cámara
- Cámara (con batería)
- Cámara con reflector
- Cámara (con cable)
- Pantalla
- Timbre
- Doorbell (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 modo del termostato, haz lo siguiente:
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 individuales. Consulta la lista completa de rasgos para obtener más información.
get
Obtiene información sobre una estructura o un dispositivo autorizados.
Una llamada a GET
devuelve una sola respuesta con los campos y valores actuales de todos los rasgos disponibles para una estructura o un dispositivo que el user haya autorizado, y un objeto "parentRelations", que representa el recurso principal del recurso actual, ya sea una estructura o una habitación.
Por ejemplo, un Nest Thermostat podría devolver 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
Enumera las estructuras, las habitaciones o los dispositivos autorizados.
Para enumerar todas las estructuras, habitaciones o dispositivos autorizados con un solo token de acceso, realiza una llamada GET
al extremo de recurso adecuado:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Integraciones del Asistente de Google
Una vez que se autoriza un dispositivo para SDM, Google lo reconoce en HomeGraph y administra su estado directamente. Si tienes la integración del Asistente de Google como parte de tu oferta comercial, haz lo siguiente:
- No envíes solicitudes de sincronización para dispositivos SDM
- Omitir los dispositivos SDM de cualquier respuesta a una intención SYNC
Errores
Consulta la Referencia de códigos de error de la API para ver la lista completa de códigos de error de la API.