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