Smart Device Management API

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

תכונות

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

שיטות

פרטים נוספים זמינים בחומר העזר בנושא 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 כחלק מההצעה המסחרית שלכם:

שגיאות

מידע נוסף זמין בחומר העזר בנושא קוד שגיאה של API את הרשימה המלאה של קודי השגיאה של ה-API.