راهنمای روتر خانه هوشمند
action.devices.types.ROUTER - روترها میتوانند راهاندازی مجدد شوند، نرمافزار خود را بهروزرسانی کنند، حالتهایی برای مدیریت کنترلهای کیفیت خدمات (QoS) و محدودیتهای والدین داشته باشند و عملیات خاص شبکه (مانند فعال کردن شبکه مهمان و گزارش اطلاعات خاص شبکه مانند نرخ فعلی توان عملیاتی اینترنت) را انجام دهند.
این نوع نشان میدهد که دستگاه، آیکون روتر و برخی مترادفها و نامهای مستعار مرتبط را دریافت میکند.
قابلیتهای دستگاه
برای جزئیات پیادهسازی، مانند ویژگیها و حالتهایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخهای EXECUTE و QUERY، به مستندات مربوط به ویژگیها مراجعه کنید.
صفات مورد نیاز
این ویژگیها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگیها پشتیبانی نمیکند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.
ویژگیهای توصیهشده
این ویژگیها، در صورت وجود، برای دستگاه شما توصیه میشوند. با این حال، شما میتوانید از بین تمام ویژگیهای موجود، آنها را با هم ترکیب و تطبیق دهید تا به بهترین شکل با عملکرد محصول فعلی شما مطابقت داشته باشد.
دستگاه نمونه: روتر ساده
این بخش شامل نمونههایی از payloadهای intent است که یک "روتر" رایج را بر اساس نوع دستگاه و ویژگیهای بالا نشان میدهند. اگر ویژگیهایی را در پیادهسازی خود اضافه یا حذف میکنید، پاسخهای خود را متناسب با آن تغییرات تغییر دهید.
نمونه پاسخ 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 } } } }
نمونه دستورات اجرایی
راه اندازی مجدد
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع 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 } } ] } }
فعال/غیرفعال کردنپروفایل شبکه
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع 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" } } } ] } }
تست سرعت شبکه
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع 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 } } ] } }