תכונות

מאפיין ב-SDM API כולל שדות, פקודות ואירועים.

שדות

שדות הם ערכים עם סוגי נתונים נפוצים, כמו מספר או מחרוזת. לדוגמה, שדה יכול להכיל את המצב הנוכחי או את הלחות הסביבתית של Google Nest Thermostat.

אפשר לראות את המאפיינים והשדות באמצעות קריאה ל-GET לנקודת קצה ל-API הרצויה:

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.device-type",
  "traits" : { ... },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

סוגי מכשירים

אסור להשתמש ב-sdm.devices.types.device-type שמוחזר על ידי SDM API כדי להסיק או להסיק מסקנות לגבי הפונקציונליות של המכשיר בפועל שאליו הוא משויך. אין ערובה לכך שסוג המכשיר יישאר יציב במכשיר ספציפי ככל שיתווספו תכונות נוספות ל-API של SDM. במקום זאת, צריך להשתמש במאפיינים שמוחזרים לגבי המכשיר.

parentRelations

אובייקט parentRelations מייצג את משאב ההורה של המשאב הנוכחי, בין אם מדובר במבנה או בחדר. השם המוצג תואם לשדה customName שלInfo trait למכשירים עם הורה מבנה אוRoomInfo trait למכשירים עם הורה חדר.

פקודות

פקודות הן בקשות שמשויכות לתכונה. לדוגמה, שינוי המצב הנוכחי או נקודת הטמפרטורה שנקבעה בתרמוסטט Google Nest.

פקודה נשלחת באמצעות קריאה ל-API של executeCommand:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "command-name",
  "params" : {
    "field" : "value"
  }
}

רוב התשובות לפקודה הן פשוט הצלחה או כישלון. במדריכים של התכונות השונות יש דוגמאות ספציפיות לשימוש בפקודות.

אירועים

אירועים הם אסינכרוניים והם מנוהלים על ידי Google Cloud Pub/Sub בנושא יחיד לכל Project מזהה.

כברירת מחדל, אירועים נשלחים על כל שינוי בערך של שדה מאפיין. אפשר גם לשלוח אותם בתגובה לפעולות ספציפיות במכשיר או לשינויים בהקצאות של משאבים. מידע נוסף זמין במאמר בנושא אירועים.

קטגוריות של מאפיינים

מבנה

תכונות
פרטים
sdm.structures.traits.Info
המאפיין הזה שייך לכל מבנה שמכיל מידע שקשור למבנה.
RoomInfo
sdm.structures.traits.RoomInfo
המאפיין הזה שייך לכל חדר שרוצים לקבל לגביו מידע.

מכשיר

תכונות
קישוריות
sdm.devices.traits.Connectivity
המאפיין הזה שייך לכל מכשיר שיש בו פרטי קישוריות.
Fan
sdm.devices.traits.Fan
המאפיין הזה נמצא בכל מכשיר שיש בו אפשרות לשלוט במאוורר.
לחות
sdm.devices.traits.Humidity
המאפיין הזה שייך לכל מכשיר שיש בו חיישן למדידת לחות.
פרטים
sdm.devices.traits.Info
המאפיין הזה שייך לכל מכשיר שמספק מידע שקשור למכשיר.
הגדרות
sdm.devices.traits.Settings
המאפיין הזה שייך לכל מכשיר שמספק מידע על הגדרות שקשורות למכשיר.
טמפרטורה
sdm.devices.traits.Temperature
המאפיין הזה נמצא בכל מכשיר שיש בו חיישן למדידת טמפרטורה.

תרמוסטט

תכונות
ThermostatEco
sdm.devices.traits.ThermostatEco
המאפיין הזה שייך לסוגי מכשירים של THERMOSTAT שתומכים במצבי ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
המאפיין הזה שייך לסוגי מכשירים של THERMOSTAT שיכולים לדווח על פרטים של HVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
המאפיין הזה שייך לסוגי מכשירים מסוג THERMOSTAT שתומכים במצבי תרמוסטט שונים.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
המאפיין הזה שייך לסוגי מכשירים של THERMOSTAT שתומכים בהגדרת טמפרטורת היעד וטווח הטמפרטורות.

מצלמה

תכונות
CameraClipPreview
sdm.devices.traits.CameraClipPreview
המאפיין הזה שייך לכל מכשיר שתומך בהורדה של תצוגה מקדימה של סרטון.
CameraEventImage
sdm.devices.traits.CameraEventImage
המאפיין הזה שייך לכל מכשיר שתומך ביצירת תמונות מאירועים.
CameraImage
sdm.devices.traits.CameraImage
המאפיין הזה שייך לכל מכשיר שתומך בצילום תמונות.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
המאפיין הזה שייך לכל מכשיר שתומך בסטרימינג בשידור חי.
CameraMotion
sdm.devices.traits.CameraMotion
המאפיין הזה שייך לכל מכשיר שתומך באירועי זיהוי תנועה.
CameraPerson
sdm.devices.traits.CameraPerson
המאפיין הזה שייך לכל מכשיר שתומך באירועי זיהוי בני אדם.
CameraSound
sdm.devices.traits.CameraSound
המאפיין הזה שייך לכל מכשיר שתומך באירועי זיהוי צלילים.

פעמון דלת

תכונות
DoorbellChime
sdm.devices.traits.DoorbellChime
המאפיין הזה שייך לכל מכשיר שתומך בצלצול של פעמון הדלת ובאירועי לחיצה קשורים.