action.devices.SYNC

ويطلب هذا الغرض قائمة الأجهزة المرتبطة بالمستخدم المحدّد وإمكاناته.

يتم تشغيله أثناء ربط الحساب أو عندما يُجري المستخدم إعادة مزامنة أجهزتهم يدويًا. يجب أن تردّ عملية معالجة الطلب بما يلي: السمات والسمات المتاحة لكل جهاز.

من المفترض أن تعرض استجابة SYNC جميع الأجهزة المرتبطة بالمستخدم. لا يحدد هذا ما إذا كان يمكن الوصول إلى أي جهاز معين أم لا. يتم التعامل مع هذا بواسطة QUERY و EXECUTE ردود

لمزيدٍ من التفاصيل، يُرجى الاطّلاع على مقالة التحديد والمزامنة.

تنسيق الطلب

الحقول النوع الوصف
requestId String

يجب ملء هذا الحقل.

رقم تعريف الطلب

inputs مصفوفة

يجب ملء هذا الحقل.

قائمة بالمدخلات التي تتطابق مع طلب النية

[item, ...] كائن

النوع والحمولة المرتبطَين بطلب intent

intent

يجب ملء هذا الحقل.

(القيمة الثابتة: "action.devices.SYNC")

نوع طلب القصد

أمثلة

مزامنة الطلب حسب النية بالشراء

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

تنسيق الردّ

الحقول النوع الوصف
requestId String

يجب ملء هذا الحقل.

رقم تعريف الطلب المقابل.

payload كائن

يجب ملء هذا الحقل.

حمولة استجابة الغرض

agentUserId String

يجب ملء هذا الحقل.

يعكس رقم تعريف المستخدم الفريد (وغير القابل للتغيير) على منصة الوكيل لا تعتبر Google أنّ هذه السلسلة واضحة، لذا إذا كان هناك نموذج غير قابل للتغيير في مقابل نموذج قابل للتغيير، من جهة الوكيل، استخدِم النموذج غير القابل للتغيير (مثلاً، رقم حساب بدلاً من عنوان بريد إلكتروني).

errorCode String

بالنسبة إلى الأخطاء المنهجية على SYNC

debugString String

خطأ تفصيلي لن يتم عرضه للمستخدمين مطلقًا، ولكن قد يتم تسجيله أو استخدامه أثناء عملية التطوير.

devices مصفوفة

يجب ملء هذا الحقل.

قائمة الأجهزة التي يملكها المستخدم لا يتم إرجاع أي أجهزة أو أكثر (لا يعني ذلك أنّ المستخدم ليس لديه أجهزة أو انقطع اتصالها بجميع الأجهزة).

[item, ...] كائن

البيانات الوصفية للجهاز

id String

يجب ملء هذا الحقل.

رقم تعريف الجهاز في السحابة الإلكترونية للمطوّر. ويجب أن يكون ذلك فريدًا للمستخدم والمطوّر، كما في حالات المشاركة، يمكن أن نستخدمه لإزالة تكرار المشاهدات المتعددة للجهاز نفسه. يجب أن يكون الجهاز غير قابل للتغيير. وفي حال تغيير الاسم، سيتعامل "مساعد Google" مع التطبيق على أنّه جهاز جديد.

type String

يجب ملء هذا الحقل.

تمثّل هذه السمة نوع الجهاز.

traits مصفوفة

يجب ملء هذا الحقل.

قائمة السمات التي يمتلكها هذا الجهاز يحدّد هذا الإجراء الأوامر والسمات والحالات التي يتيحها الجهاز.

[item, ...] String

اسم السمة المتوافقة.

name كائن

يجب ملء هذا الحقل.

أسماء هذا الجهاز

defaultNames مصفوفة

قائمة بالأسماء التي قدّمها المطوّر بدلاً من المستخدم، وغالبًا ما تتضمّن أسماء الشركات المصنّعة ورموز التخزين التعريفية وغيرها.

[item, ...] String

الاسم التلقائي للجهاز

name String

يجب ملء هذا الحقل.

الاسم الأساسي للجهاز الذي يقدّمه المستخدم عادةً وهذا هو أيضًا الاسم الذي سيفضّل "مساعد Google" وصفه للجهاز في الردود.

nicknames مصفوفة

الأسماء الإضافية التي يُقدّمها المستخدم للجهاز.

[item, ...] String

لقب الجهاز.

willReportState منطقي

يجب ملء هذا الحقل.

تشير هذه السمة إلى ما إذا كان سيتم تعديل حالات هذا الجهاز من خلال الخلاصة في الوقت الفعلي. (صحيح لاستخدام الخلاصة في الوقت الفعلي لحالة إعداد التقارير وخطأ لاستخدام نموذج الاستطلاع).

notificationSupportedByAgent منطقي

(القيمة التلقائية: false)

يشير هذا الرمز إلى ما إذا كان سيتم تفعيل الإشعارات للجهاز.

roomHint String

يوفِّر هذا الوضع الغرفة الحالية للجهاز في منزل المستخدم لتبسيط عملية الإعداد.

deviceInfo كائن

يحتوي على حقول تصف الجهاز للاستخدام بمنطق لمرة واحدة إذا لزم الأمر (على سبيل المثال، "يتطلب إصدار البرامج الثابتة المعطلة X من الضوء Y تعديل اللون" أو "يتطلب عيب الأمان إعلام جميع مستخدمي البرامج الثابتة Z").

manufacturer String

ويكون ذلك مفيدًا بشكل خاص عندما يكون المطوّر مركزًا للأجهزة الأخرى. ويمكن أن تقدم Google قائمة قياسية من الشركات المصنعة هنا، على سبيل المثال: يصف كل من TP-Link وSmartthings كلمة "أوسرام" بالطريقة نفسها.

model String

الطراز أو معرّف رمز التخزين التعريفي للجهاز المحدّد.

hwVersion String

رقم الإصدار المحدّد المرفق بالجهاز، إن توفّر

swVersion String

رقم الإصدار المحدّد المرفق بالبرامج الثابتة، إذا كان متاحًا.

attributes كائن

تتماشى مع السمات لكل سمة الموضحة في كل مرجع مخطط سمات.

customData كائن

الكائن الذي حدّده المطوّر والذي سيتم إرفاقه بطلبات QUERY وEXECUTE المستقبلية، بحد أقصى 512 بايت لكل جهاز يمكنك استخدام هذا العنصر لتخزين معلومات إضافية حول الجهاز الذي قد تحتاج إليه خدمة السحابة الإلكترونية، مثل المنطقة العالمية للجهاز. هناك بعض القيود للبيانات في هذا العنصر: لا تتوفّر معلومات حساسة، بما في ذلك على سبيل المثال لا الحصر، معلومات تحديد الهوية الشخصية.

otherDeviceIds مصفوفة

قائمة بأرقام التعريف البديلة المستخدمة لتحديد جهاز تتم مزامنته على السحابة الإلكترونية لتنفيذ العملية على الجهاز.

[item, ...] كائن

رقم تعريف الجهاز البديل

agentId String

معرّف الوكيل بشكل عام، هذا هو رقم تعريف المشروع في وحدة تحكّم المهام.

deviceId String

يجب ملء هذا الحقل.

رقم تعريف الجهاز الذي حدّده الوكيل. يجب أن يكون رقم تعريف الجهاز فريدًا.

أمثلة

مزامنة الرد حسب النية بالشراء

{
  "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"
        }
      }
    ]
  }
}