action.devices.סנכרון

הכוונה הזו מבקשת את רשימת המכשירים המשויכים למשתמש הנתון ואת היכולות שלו.

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

התשובה שלך ב-SYNC צריכה להחזיר את כל המכשירים המשויכים למשתמש. ההגדרה הזו לא קובעת אם ניתן להגיע למכשיר מסוים. הטיפול הזה מתבצע באמצעות QUERY ו-EXECUTE תגובות.

מידע נוסף זמין במאמר זיהוי וסנכרון.

פורמט הבקשה

שדות סוג תיאור
requestId מחרוזת

חובה.

מזהה הבקשה.

inputs מערך

חובה.

רשימת סוגי הקלט שתואמים לבקשת הכוונה.

[item, ...] אובייקט

יש להקליד ומטען ייעודי (payload) המשויך לבקשה לכוונה.

intent

חובה.

(ערך קבוע: "action.devices.SYNC")

סוג בקשת Intent.

דוגמאות

בקשת סנכרון לסנכרון

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}

פורמט תגובה

שדות סוג תיאור
requestId מחרוזת

חובה.

המזהה של הבקשה התואמת.

payload אובייקט

חובה.

מטען ייעודי (payload) של תגובת Intent.

agentUserId מחרוזת

חובה.

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

errorCode מחרוזת

לשגיאות שיטתיות ב-SYNC

debugString מחרוזת

שגיאה מפורטת שמעולם לא תוצג למשתמשים, אך עשויה להירשם או להשתמש בה במהלך הפיתוח.

devices מערך

חובה.

רשימת המכשירים שבבעלות המשתמש. אפס מכשירים או יותר מוחזרים (אפס מכשירים, כלומר למשתמש אין מכשירים, או ניתק את כולם).

[item, ...] אובייקט

המטא-נתונים של המכשיר.

id מחרוזת

חובה.

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

type מחרוזת

חובה.

סוג החומרה של המכשיר.

traits מערך

חובה.

רשימת תכונות שקיימות במכשיר הזה. היא מגדירה את הפקודות, המאפיינים והמצבים שבהם המכשיר תומך.

[item, ...] מחרוזת

שם התכונה הנתמכת.

name אובייקט

חובה.

שמות של המכשיר הזה.

defaultNames מערך

רשימת שמות שסופקו על ידי המפתח ולא על ידי המשתמש, לעתים קרובות שמות יצרן, מק"טים וכו'.

[item, ...] מחרוזת

שם ברירת המחדל של המכשיר.

name מחרוזת

חובה.

השם הראשי של המכשיר, שבדרך כלל סופק על ידי המשתמש. זהו גם השם שה-Assistant יעדיף לתאר את המכשיר בתשובות.

nicknames מערך

שמות נוספים שסיפק המשתמש עבור המכשיר.

[item, ...] מחרוזת

הכינוי של המכשיר.

willReportState ערך בוליאני

חובה.

המדיניות הזו מציינת אם העדכונים של המכשיר הזה יעודכנו בפיד בזמן אמת. (True כדי להשתמש בפיד 'זמן אמת' לדיווח) ו-False כדי להשתמש במודל הסקר.)

notificationSupportedByAgent ערך בוליאני

(ברירת מחדל: false)

מציין אם ההתראות מופעלות במכשיר.

roomHint מחרוזת

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

deviceInfo אובייקט

במידת הצורך, מכיל שדות המתארים את המכשיר לשימוש בלוגיקה חד-פעמית (למשל, 'גרסת קושחה שבורה X של נורית Y מחייבת שינוי צבע', או 'פגם אבטחה מחייב הודעה לכל המשתמשים של הקושחה Z').

manufacturer מחרוזת

מועיל במיוחד כאשר המפתח הוא מרכז בקרה למכשירים אחרים. Google עשויה לספק רשימה סטנדרטית של יצרנים כאן, למשל: TP-Link ו-Smartthings מתארים את המונח 'osram' באותו אופן.

model מחרוזת

הדגם או מזהה המק"ט של המכשיר הספציפי.

hwVersion מחרוזת

מספר גרסה ספציפי המצורף לחומרה, אם זמין.

swVersion מחרוזת

מספר גרסה ספציפי המצורף לתוכנה/קושחה, אם יש.

attributes אובייקט

הגדרה זו תואמת למאפיינים של כל תכונה המתוארים בכל אזכור של סכימת תכונות.

customData אובייקט

אובייקט שהוגדר על ידי המפתח, ויצורף לבקשות QUERY ו-EXECUTE עתידיות, עד 512 בייטים לכל מכשיר. השימוש באובייקט הזה יאפשר לך לאחסן מידע נוסף על המכשיר שאולי נחוץ לשירות הענן, כמו האזור הגלובלי של המכשיר. יש כמה מגבלות על נתונים באובייקט: מידע רגיש, כולל, בין היתר, פרטים אישיים מזהים.

otherDeviceIds מערך

רשימה של מזהים חלופיים המשמשים לזיהוי של מכשיר מסונכרן בענן להפעלה מקומית.

[item, ...] אובייקט

מזהה מכשיר חלופי.

agentId מחרוזת

מזהה הנציג. באופן כללי, זהו מזהה הפרויקט במסוף הפעולות.

deviceId מחרוזת

חובה.

מזהה המכשיר שהוגדר על ידי הסוכן. מזהה המכשיר חייב להיות ייחודי.

דוגמאות

סנכרון תגובת Intent

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.OUTLET",
        "traits": [
          "action.devices.traits.OnOff"
        ],
        "name": {
          "defaultNames": [
            "My Outlet 1234"
          ],
          "name": "Night light",
          "nicknames": [
            "wall plug"
          ]
        },
        "willReportState": false,
        "roomHint": "kitchen",
        "deviceInfo": {
          "manufacturer": "lights-out-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        },
        "otherDeviceIds": [
          {
            "deviceId": "local-device-id"
          }
        ],
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      },
      {
        "id": "456",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Brightness",
          "action.devices.traits.ColorSetting"
        ],
        "name": {
          "defaultNames": [
            "lights out inc. bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": false,
        "roomHint": "office",
        "attributes": {
          "colorModel": "rgb",
          "colorTemperatureRange": {
            "temperatureMinK": 2000,
            "temperatureMaxK": 9000
          },
          "commandOnlyColorSetting": false
        },
        "deviceInfo": {
          "manufacturer": "lights out inc.",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "bar"
        }
      }
    ]
  }
}