ה-API של SDM הוא ממשק API ל-REST שמספק שיטות שונות להצגת מאפיינים ולהפעלת פקודות של מאפיינים לניהול מכשירי Google Nest. משתמשים באסימון הגישה שהוקצה בתהליך ההרשאה בכל קריאה ל-API.
מאפיינים
ב-SDM API נעשה שימוש במודל מבוסס-מאפיין לפרטי מכשירים ופונקציונליות. במדריכים של המכשירים השונים אפשר לבדוק אילו מאפיינים זמינים לכל מכשיר:
- מצלמה
- מצלמה (סוללה)
- מצלמה עם Floodlight
- מצלמה (חוטית)
- רשת המדיה
- פעמון דלת
- פעמון דלת (סוללה)
- פעמון דלת (חוטי)
- תרמוסטט
שיטות
במאמר בנושא הפניית API מפורטות כל השיטות הזמינות ל-SDM 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
שגיאות
מידע נוסף זמין בחומר העזר בנושא קוד שגיאה של API את הרשימה המלאה של קודי השגיאה של ה-API.