action.devices.SYNC

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

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

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

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

פורמט הבקשה

שדות סוג תיאור
requestId String

חובה.

מזהה הבקשה.

inputs מערך

חובה.

רשימת מקורות קלט שתואמים לבקשת ה-Intent.

[item, ...] מפגע

הסוג והמטען הייעודי (Payload) שמשויכים לבקשת ה-Intent.

intent

חובה.

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

סוג הבקשה של אובייקט Intent.

דוגמאות

בקשה לסנכרון Intent

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

פורמט התשובה

שדות סוג תיאור
requestId String

חובה.

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

payload מפגע

חובה.

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

agentUserId String

חובה.

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

errorCode String

במקרה של שגיאות מערכתיות בסנכרון

debugString String

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

devices מערך

חובה.

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

[item, ...] מפגע

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

id String

חובה.

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

type String

חובה.

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

traits מערך

חובה.

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

[item, ...] String

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

name מפגע

חובה.

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

defaultNames מערך

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

[item, ...] String

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

name String

חובה.

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

nicknames מערך

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

[item, ...] String

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

willReportState בוליאני

חובה.

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

notificationSupportedByAgent בוליאני

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

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

roomHint String

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

deviceInfo מפגע

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

manufacturer String

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

model String

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

hwVersion String

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

swVersion String

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

attributes מפגע

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

customData מפגע

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

otherDeviceIds מערך

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

[item, ...] מפגע

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

agentId String

המזהה של הנציג. בדרך כלל, זהו מזהה הפרויקט במסוף Actions.

deviceId String

חובה.

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

דוגמאות

סנכרון 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"
        }
      }
    ]
  }
}