SDM API — это REST API, который предоставляет различные методы для просмотра характеристик и выполнения команд характеристик для управления устройствами Google Nest. Используйте токен доступа, предоставленный в процессе авторизации, при каждом вызове API.
Черты
API SDM использует модель на основе признаков для информации и функциональности устройства. Проверьте руководства по отдельным устройствам, чтобы узнать, какие функции доступны для устройства:
- Камера
- Камера (батарея)
- Камера с прожектором
- Камера (проводная)
- Отображать
- Дверной звонок
- Дверной звонок (на батарейке)
- Дверной звонок (проводной)
- Термостат
Методы
См. справочник по API для получения полной информации обо всех методах, доступных для API SDM.
выполнитькоманду
Выполняет команду авторизованному устройству.
Используйте вызов POST
для выполнения команды. Например, чтобы изменить режим термостата:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Дополнительные примеры команд можно найти на каждой отдельной справочной странице по характеристикам. Для получения дополнительной информации смотрите полный список характеристик .
получать
Получает информацию о авторизованной структуре или устройстве.
Вызов GET
возвращает один ответ с текущими полями и значениями для всех характеристик, доступных для структуры или устройства, которое user имеет авторизацию и объект «parentRelations», который представляет родительский ресурс текущего ресурса, либо структуру, либо комнату.
Например, термостат Nest может возвращать следующее:
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" } ] }
список
Перечисляет разрешенные конструкции, помещения или устройства.
Чтобы перечислить все структуры, комнаты или устройства, авторизованные с помощью одного токена доступа, выполните вызов GET
для соответствующей конечной точки ресурса:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Интеграция с Google Ассистентом
Как только устройство авторизуется для SDM, Google узнает об устройстве в Home Graph и напрямую управляет его состоянием. Если у вас есть интеграция с Google Assistant как часть вашего коммерческого предложения:
- Не отправлять запросы Request Sync для устройств SDM.
- Исключить устройства SDM из любых ответов на намерение SYNC.
Ошибки
Полный список кодов ошибок API см. в Справочнике кодов ошибок API.