مخطط سمة Smart Home NetworkControl

action.devices.traits.NetworkControl: تنتمي هذه السمة إلى الأجهزة التي تتيح إعداد تقارير عن بيانات الشبكة وتنفيذ عمليات خاصة بالشبكة.

سمات الجهاز

قد تعرض الأجهزة التي تتضمّن هذه السمة السمات التالية كجزء من عملية SYNC. لمزيد من المعلومات حول التعامل مع أغراض SYNC، يمكنك الاطّلاع على مقالة تنفيذ الأغراض.

السمات النوع الوصف
supportsEnablingGuestNetwork قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان يمكن تفعيل شبكة الضيوف.

supportsDisablingGuestNetwork قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان يمكن إيقاف شبكة الضيوف.

supportsGettingGuestNetworkPassword قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان يمكن الحصول على كلمة مرور شبكة الضيوف من خلال الأمر GetGuestNetworkPassword.

networkProfiles المصفوفة

تشير هذه السمة إلى أسماء ملفات الشبكة المتوافقة.

[item, ...] String

اسم ملف شبكة يمثّل مجموعة من الأجهزة ذات الصلة

supportsEnablingNetworkProfile قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان يمكن تفعيل ملفات تعريف الشبكة.

supportsDisablingNetworkProfile قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان يمكن إيقاف ملفات تعريف الشبكة.

supportsNetworkDownloadSpeedTest قيمة منطقية

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

اضبط القيمة على "صحيح" إذا كان من الممكن إجراء اختبار لسرعة التنزيل.

supportsNetworkUploadSpeedTest قيمة منطقية

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

اضبط القيمة على "true" إذا كان من الممكن إجراء اختبار لسرعة التحميل.

أمثلة

جهاز شبكة يتيح استخدام شبكة الضيف وملفات التعريف واختبار السرعة

{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true,
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true,
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true,
  "supportsGettingGuestNetworkPassword": true,
  "networkProfiles": [
    "Kids"
  ]
}

حالات الجهاز

يمكن أن تعرض الكيانات التي تتضمّن هذه السمة الحالات التالية كجزء من عملية QUERY. لمزيد من المعلومات حول التعامل مع أغراض QUERY، يمكنك الاطّلاع على مقالة تنفيذ الأغراض.

الولايات النوع الوصف
networkEnabled قيمة منطقية

تُستخدَم لتحديد ما إذا كانت الشبكة الرئيسية مفعَّلة.

networkSettings الكائن

يحتوي على معرّف SSID للشبكة الرئيسية.

ssid String

مطلوبة

معرّف SSID للشبكة

guestNetworkEnabled قيمة منطقية

تُستخدَم لتحديد ما إذا كانت شبكة الضيوف مفعّلة.

guestNetworkSettings الكائن

يحتوي على معرّف SSID لشبكة الضيوف.

ssid String

مطلوبة

معرّف SSID للشبكة

numConnectedDevices عدد صحيح

عدد الأجهزة المتصلة بالشبكة

networkUsageMB Number

تمثّل هذه السمة مقدار استخدام الشبكة بالميغابايت، وذلك خلال مدة الفوترة الحالية. ويمكن أن يكون ذلك مفيدًا لتتبُّع حدّ استخدام الشبكة خلال مدة الفوترة.

networkUsageLimitMB Number

حدّ استخدام الشبكة بوحدة القياس ميغابايت يقع حدّ استخدام الشبكة ضمن مدة الفوترة الحالية.

networkUsageUnlimited قيمة منطقية

ما إذا كان استخدام الشبكة غير محدود سيتم تجاهل حالة الجهاز networkUsageLimitMB إذا تم ضبط هذه السياسة على "صحيح".

lastNetworkDownloadSpeedTest الكائن

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

downloadSpeedMbps Number

تمثّل هذه السمة سرعة التنزيل بالميغابت في الثانية في آخر اختبار لسرعة الشبكة.

unixTimestampSec عدد صحيح

الطابع الزمني لنظام التشغيل Unix (عدد الثواني منذ بدء حساب الفترة في نظام التشغيل Unix) الذي تم فيه إجراء آخر اختبار لسرعة التنزيل في الشبكة

status String

تشير إلى ما إذا كان آخر اختبار لسرعة التنزيل على الشبكة قد نجح أم لا.

القيم المسموح بها:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest الكائن

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

uploadSpeedMbps Number

تمثّل هذه السمة سرعة التحميل بالميغابت في الثانية في آخر اختبار لسرعة الشبكة.

unixTimestampSec عدد صحيح

الطابع الزمني لنظام التشغيل Unix (عدد الثواني منذ بدء حساب الفترة في نظام التشغيل Unix) الذي تم فيه إجراء آخر اختبار لسرعة التحميل على الشبكة

status String

تشير إلى ما إذا كان آخر اختبار لسرعة التحميل على الشبكة قد نجح أو تعذّر.

القيم المسموح بها:

SUCCESS
FAILURE
networkSpeedTestInProgress قيمة منطقية

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

تحدّد هذه السمة ما إذا كان يتم إجراء اختبار سرعة حاليًا.

networkProfilesState الكائن

حالة ملفات الشبكة يجب أن يحتوي هذا العنصر ذو المستوى الأعلى على أزواج مفاتيح/قيم، حيث يكون المفتاح هو اسم أحد ملفات الشبكة الشخصية المُدرَجة في السمة networkProfiles، ويجب أن تكون القيمة هي حالة هذا الملف الشخصي.

<string> الكائن

كائن يخزّن حالة ملف شبكة فردي. يجب أن تكون قيمة المفتاح اسم أحد ملفات الشبكة في السمة networkProfiles.

enabled قيمة منطقية

الحالة الحالية لتفعيل ملف الشبكة أو إيقافه

أمثلة

جهاز متصل بشبكة نشطة

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8
}

جهاز متصل بشبكة نشطة ويتضمّن نتائج اختبار السرعة

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "lastNetworkDownloadSpeedTest": {
    "downloadSpeedMbps": 159.8,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  },
  "lastNetworkUploadSpeedTest": {
    "uploadSpeedMbps": 64.1,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  }
}

جهاز متصل بشبكة نشطة ويجري عليه اختبار السرعة

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "networkSpeedTestInProgress": true
}

الجهاز الذي تم إيقاف ملف الشبكة "الأطفال" عليه

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "networkProfilesState": {
    "parents": {
      "enabled": true
    },
    "kids": {
      "enabled": false
    }
  }
}

أوامر الجهاز

قد تستجيب الأجهزة التي تتضمّن هذه السمة للأوامر التالية كجزء من عملية EXECUTE. لمزيد من المعلومات حول التعامل مع أغراض EXECUTE، يمكنك الاطّلاع على مقالة تنفيذ الأغراض.

action.devices.commands.EnableDisableGuestNetwork

تفعيل شبكة الضيوف أو إيقافها يجب استخدام إجراء ثانوي لإثبات هوية المستخدم باستخدام رقم التعريف الشخصي. يمكن اعتبار أمان المنزل الخاص بالمستخدم متأثرًا إذا تم إيقاف أجهزة أمان أخرى من خلال هذه الأوامر.

يتطلّب هذا الأمر السمات التالية:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

المعلمات

المعلمات النوع الوصف
enable قيمة منطقية

مطلوبة

يجب إدخال القيمة "true" لتفعيل شبكة الضيوف، والقيمة "false" لإيقافها.

أمثلة

فعِّل شبكة الضيوف.

{
  "command": "action.devices.commands.EnableDisableGuestNetwork",
  "params": {
    "enable": true
  }
}

action.devices.commands.EnableDisableNetworkProfile

تفعيل ملف شبكة أو إيقافه يجب استخدام إجراء ثانوي لإثبات هوية المستخدم باستخدام رقم التعريف الشخصي. يمكن اعتبار أمان المنزل الخاص بالمستخدم متأثرًا إذا تم إيقاف أجهزة أمان أخرى من خلال هذه الأوامر.

يتطلّب هذا الأمر السمات التالية:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

المعلمات

المعلمات النوع الوصف
profile String

مطلوبة

اسم الملف الشخصي من السمة networkProfiles

enable قيمة منطقية

مطلوبة

يجب ضبط القيمة على "صحيح" لتفعيل الملف الشخصي، وعلى "خطأ" لإيقافه.

أمثلة

إيقاف الإنترنت للأطفال

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "Kids",
    "enable": false
  }
}

حدث خطأ أثناء محاولة التحكّم في ملف الشبكة المحدّد.

القيم المسموح بها:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

الحصول على كلمة مرور شبكة الضيوف يجب استخدام إجراء ثانوي لإثبات هوية المستخدم باستخدام رقم التعريف الشخصي. يمكن اعتبار أمان المنزل الخاص بالمستخدم متأثرًا إذا تم إيقاف أجهزة أمان أخرى من خلال هذه الأوامر.

يتطلّب هذا الأمر السمات التالية:
{
  "supportsGettingGuestNetworkPassword": true
}

المعلمات

المعلمات النوع الوصف

ما مِن مواقع

أمثلة

أريد معرفة كلمة مرور شبكة Wi-Fi الخاصة بالضيوف.

{
  "command": "action.devices.commands.GetGuestNetworkPassword",
  "params": {}
}

النتائج

النتائج النوع الوصف
guestNetworkPassword String

مطلوبة

كلمة مرور شبكة الضيوف

أمثلة

أريد معرفة كلمة مرور شبكة Wi-Fi الخاصة بالضيوف.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

اختبِر سرعة التنزيل والتحميل في الشبكة.

يتطلّب هذا الأمر السمات التالية:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

المعلمات

المعلمات النوع الوصف
testDownloadSpeed قيمة منطقية

مطلوبة

تُستخدَم لتحديد ما إذا كان يجب اختبار سرعة التنزيل.

testUploadSpeed قيمة منطقية

مطلوبة

تحدّد هذه السمة ما إذا كان يجب اختبار سرعة التحميل.

followUpToken String

مطلوبة

رمز مميز تقدّمه Google للردّ على المتابعة.

أمثلة

ما هي سرعة شبكة Wi-Fi؟

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

حدث خطأ أثناء محاولة طلب إجراء اختبار سرعة.

القيم المسموح بها:

networkSpeedTestInProgress

الردود المتابعة

قد تعرض الأجهزة التي تتضمّن هذه السمة حمولة استجابة المتابعة التالية كجزء من عملية EXECUTE. لمزيد من المعلومات حول تنفيذ الردود اللاحقة، راجِع الإشعارات الخاصة بإجراءات المنزل المزوّد بأجهزة ذكية.

تحتوي الحمولة على أحد العناصر التالية:

النجاح: networkDownloadSpeedMbps

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

مطلوبة

الرمز المميّز المقدَّم في طلب EXECUTE الأصلي

status String

مطلوبة

نتيجة الطلب

القيم المسموح بها:

SUCCESS
networkDownloadSpeedMbps Number

مطلوبة

سرعة التنزيل في الشبكة، ويتم قياسها بالميغابت في الثانية

النجاح: networkUploadSpeedMbps

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

مطلوبة

الرمز المميّز المقدَّم في طلب EXECUTE الأصلي

status String

مطلوبة

نتيجة الطلب

القيم المسموح بها:

SUCCESS
networkUploadSpeedMbps Number

مطلوبة

سرعة التحميل في الشبكة، ويتم قياسها بالميغابت في الثانية

النجاح: networkDownloadSpeedMbps وnetworkUploadSpeedMbps

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

مطلوبة

الرمز المميّز المقدَّم في طلب EXECUTE الأصلي

status String

مطلوبة

نتيجة الطلب

القيم المسموح بها:

SUCCESS
networkDownloadSpeedMbps Number

مطلوبة

سرعة التنزيل في الشبكة، ويتم قياسها بالميغابت في الثانية

networkUploadSpeedMbps Number

مطلوبة

سرعة التحميل في الشبكة، ويتم قياسها بالميغابت في الثانية

تعذّر إتمام العملية

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

مطلوبة

الرمز المميّز المقدَّم في طلب EXECUTE الأصلي

status String

مطلوبة

نتيجة الطلب

القيم المسموح بها:

FAILURE
errorCode String

مطلوبة

يمكن أن تكون القيمة أي رمز خطأ لهذه السمة، مثل transientError.

أمثلة

ما هي سرعة شبكة Wi-Fi؟ (ردّ المتابعة)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "SUCCESS",
      "networkDownloadSpeedMbps": 23.3,
      "networkUploadSpeedMbps": 10.2,
      "followUpToken": "1234"
    }
  }
}

ما هي سرعة شبكة Wi-Fi؟ (ردّ متابعة يتضمّن تعذُّر التنفيذ)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "FAILURE",
      "errorCode": "transientError",
      "followUpToken": "1234"
    }
  }
}

أخطاء الجهاز

اطّلِع على القائمة الكاملة للأخطاء والاستثناءات.

حدث خطأ أثناء محاولة التحكّم في ملف الشبكة المحدّد.

القيم المسموح بها:

networkProfileNotRecognized

حدث خطأ أثناء محاولة طلب إجراء اختبار سرعة.

القيم المسموح بها:

networkSpeedTestInProgress