Smart Device Management API

ה-API של SDM הוא API ל-REST שמספק שיטות שונות להצגת מאפיינים ולהפעלת פקודות מאפיינים לניהול מכשירי Google Nest. משתמשים באסימון הגישה שניתן במהלך תהליך ההרשאה בכל קריאה ל-API.

תכונות

ב-SDM API נעשה שימוש במודל מבוסס-מאפיינים למידע על מכשירים ולפונקציונליות. כדי לראות אילו מאפיינים זמינים למכשיר מסוים, אפשר לעיין במדריכים למכשירים ספציפיים:

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 כחלק מהמוצר המסחרי שלכם:

שגיאות

רשימה מלאה של קודי שגיאה של API זמינה במאמר API Error Code Reference.