دليل موجّه المنزل الذكي
action.devices.types.ROUTER
- يمكن لأجهزة التوجيه إعادة التشغيل وتحديث البرامج، وتوفير أوضاع للتعامل مع عناصر التحكّم في جودة الخدمة والقيود المفروضة من قِبل الوالدَين، وتنفيذ عمليات خاصة بالشبكة (مثل تفعيل شبكة الضيف والإبلاغ عن معلومات خاصة بالشبكة، مثل معدّلات نقل البيانات الحالية على الإنترنت).
يشير هذا النوع إلى أنّ الجهاز يحصل على رمز جهاز التوجيه وبعض الكلمات المرادفة والأسماء البديلة ذات الصلة.
إمكانات الجهاز
راجِع مستندات السمة المقابلة للحصول على تفاصيل التنفيذ، مثل السمات والحالات التي يجب أن تتوافق معها خدمتك، وكيفية إنشاء ردود EXECUTE وQUERY.
السمات المطلوبة
هذه السمات والأوامر مطلوبة، إذا كانت قابلة للتطبيق على
جهازك. إذا كان جهازك لا يتيح استخدام هذه السمات، أدخِل رمز الخطأ
functionNotSupported
في استجابة QUERY أو EXECUTE. اطّلِع على الأخطاء والاستثناءات للحصول على مزيد من المعلومات.
السمات المقترَحة
يُنصح باستخدام هذه السمات إذا كانت مناسبة لجهازك. ومع ذلك، يمكنك الجمع بين جميع السمات المتاحة لمطابقة وظائف المنتج الحالية على أفضل نحو.
متطلبات الجودة
- وقت الاستجابة: يجب أن يكون أقل من أو يساوي 300 ملي ثانية.
- الموثوقية: يجب أن تكون أكبر من أو تساوي %97.
مثال على الجهاز: جهاز توجيه بسيط
يتضمّن هذا القسم أمثلة على حِزم بيانات الأهداف التي تمثّل جهاز "راوتر" شائعًا استنادًا إلى نوع الجهاز والسمات المذكورة أعلاه. في حال إضافة سمات أو إزالتها في عملية التنفيذ، عدِّل ردودك وفقًا لذلك لتعكس هذه التغييرات.
مثال على استجابة SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.ROUTER", "traits": [ "action.devices.traits.Reboot", "action.devices.traits.NetworkControl" ], "name": { "name": "Simple router" }, "willReportState": true, "attributes": { "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "networkProfiles": [ "kids" ] }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
مثال على استجابة QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "numConnectedDevices": 4, "networkUsageMB": 100.8 } } } }
أمثلة على أوامر EXECUTE
إعادة التشغيل
للحصول على تفاصيل إضافية عن مَعلمات الأوامر،
اطّلِع على مرجع
action.devices.traits.Reboot
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Reboot" } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true } } ] } }
EnableDisableNetworkProfile
للحصول على تفاصيل إضافية عن مَعلمات الأوامر،
اطّلِع على مرجع
action.devices.traits.NetworkControl
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.EnableDisableNetworkProfile", "params": { "profile": "kids", "enable": false } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" } } } ] } }
TestNetworkSpeed
للحصول على تفاصيل إضافية عن مَعلمات الأوامر،
اطّلِع على مرجع
action.devices.traits.NetworkControl
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true } } ] } }