SDM API הוא ממשק API ל-REST שמספק שיטות שונות להצגה של תכונות ולביצוע פקודות trait לניהול מכשירי Google Nest. משתמשים באסימון הגישה שהוענק בתהליך ההרשאה בכל קריאה ל-API.
תכונות
ב-SDM API נעשה שימוש במודל מבוסס-traits למידע על מכשירים ולפונקציונליות שלהם. כדאי לעיין במדריכים הספציפיים למכשירים כדי לראות אילו תכונות זמינות למכשיר:
- מצלמה
- מצלמה (סוללה)
- מצלמה עם Floodlight
- מצלמה (עם חיבור קווי)
- רשת המדיה
- פעמון דלת
- פעמון דלת (סוללה)
- פעמון דלת (עם חיבור קווי)
- תרמוסטט
שיטות
פרטים מלאים על כל השיטות הזמינות ל-SDM API זמינים בחומר העזר בנושא API.
executeCommand
מפעיל פקודה במכשיר מורשה.
יש להשתמש בקריאה ל-POST
כדי להפעיל פקודה. לדוגמה, כדי לשנות את מצב התרמוסטט:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
אפשר למצוא דוגמאות נוספות לפקודות בכל דף של ייחוס ל-trait. למידע נוסף, ראו פירוט מלא של תכונות.
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 מודעת למכשיר בתרשים הבית ומנהלת את מצבו ישירות. אם יש לכם שילוב של Google Assistant בהצעה מסחרית:
- אסור לשלוח בקשות לסנכרון למכשירי SDM
- השמטת מכשירי SDM מכל התגובות לכוונת סנכרון
שגיאות
בחומר העזר בנושא קוד שגיאה של API מופיעה הרשימה המלאה של קודי השגיאות של ה-API.