SDM API یک API REST است که روشهای مختلفی را برای مشاهده صفات و اجرای دستورات صفت برای مدیریت دستگاههای Google Nest ارائه میکند. از رمز دسترسی اعطا شده در طول فرآیند مجوز با هر تماس API استفاده کنید.
صفات
SDM API از یک مدل مبتنی بر ویژگی برای اطلاعات و عملکرد دستگاه استفاده می کند. راهنمای دستگاه های جداگانه را بررسی کنید تا ببینید چه ویژگی هایی برای یک دستگاه در دسترس است:
- دوربین
- دوربین (باتری)
- دوربین با نورافکن
- دوربین (سیمی)
- نمایش
- زنگ در
- زنگ در (باتری)
- زنگ در (سیمی)
- ترموستات
روش ها
برای جزئیات کامل در مورد تمام روش های موجود برای SDM API به مرجع API مراجعه کنید.
executeCommand
یک فرمان را به دستگاه مجاز اجرا می کند.
از فراخوانی POST
برای اجرای دستور استفاده کنید. به عنوان مثال، برای تغییر حالت ترموستات:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
نمونههای بیشتری از دستورات را میتوان در صفحه مرجع هر ویژگی یافت. برای اطلاعات بیشتر به فهرست کامل صفات مراجعه کنید.
دریافت کنید
اطلاعاتی در مورد یک ساختار یا دستگاه مجاز دریافت می کند.
یک فراخوانی GET
یک پاسخ واحد را با فیلدها و مقادیر فعلی برای همه صفات موجود برای یک ساختار یا دستگاهی که user دارای مجوز و یک شئ "parentRelations" است که منبع اصلی منبع فعلی، یک ساختار یا اتاق را نشان می دهد.
برای مثال، یک Nest Thermostat ممکن است موارد زیر را برگرداند:
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
ادغام دستیار گوگل
هنگامی که دستگاهی برای SDM مجاز شد، Google از دستگاه در Home Graph آگاه میشود و وضعیت آن را مستقیماً مدیریت میکند. اگر Google Assistant را به عنوان بخشی از پیشنهاد تجاری خود ادغام کرده اید:
- درخواست همگام سازی برای دستگاه های SDM ارسال نکنید
- دستگاه های SDM را از هرگونه پاسخی به یک هدف SYNC حذف کنید
خطاها
برای لیست کامل کدهای خطای API به مرجع کد خطای API مراجعه کنید.