ה-API של SDM הוא API ל-REST שמספק שיטות שונות להצגת מאפיינים ולהפעלת פקודות מאפיינים לניהול מכשירי Google Nest. משתמשים באסימון הגישה שניתן במהלך תהליך ההרשאה בכל קריאה ל-API.
תכונות
ב-SDM API נעשה שימוש במודל מבוסס-מאפיינים למידע על מכשירים ולפונקציונליות. כדי לראות אילו מאפיינים זמינים למכשיר מסוים, אפשר לעיין במדריכים למכשירים ספציפיים:
- מצלמה
- מצלמה (סוללה)
- מצלמה עם Floodlight
- מצלמה (חוטית)
- רשת המדיה
- Doorbell
- Doorbell (סוללה)
- Doorbell (חוטי)
- תרמוסטט
Methods
פרטים מלאים על כל השיטות שזמינות ב-SDM API מופיעים בחומר העזר בנושא API.
executeCommand
מפעיל פקודה במכשיר מורשה.
משתמשים בקריאה POST
כדי להפעיל פקודה. לדוגמה, כדי לשנות את מצב התרמוסטט:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
דוגמאות נוספות לפקודות אפשר למצוא בדף ההפניה של כל תכונה. מידע נוסף זמין ברשימה המלאה של המאפיינים.
get
קבלת מידע על מבנה או מכשיר מורשים.
קריאה ל-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" } ] }
list
רשימה של מבנים, חדרים או מכשירים מורשים.
כדי להציג רשימה של כל המבנים, החדרים או המכשירים שאושרו באמצעות טוקן גישה יחיד, צריך לבצע קריאת GET
אל נקודת הקצה המתאימה של המשאב:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
שילובים עם Google Assistant
אחרי שמכשיר מקבל הרשאה ל-SDM, Google מודעת למכשיר ב-Home Graph ומנהלת את המצב שלו ישירות. אם אתם מציעים שילוב של Google Assistant כחלק מהמוצר המסחרי שלכם:
- לא לשלוח בקשות לסנכרון למכשירי SDM
- השמטת מכשירי SDM מכל התשובות לSYNC intent
שגיאות
רשימה מלאה של קודי שגיאה של API זמינה במאמר API Error Code Reference.