מדריך לנתב בית חכם

action.devices.types.ROUTER – נתבים יכולים להפעיל מחדש את המכשיר, לעדכן את התוכנה, להשתמש במצבים שמטפלים בבקרות של איכות השירות (QoS) ובהגבלות הורים, ולבצע פעולות ספציפיות ברשת (כמו הפעלת הרשת לאורחים ודיווח על מידע ספציפי לרשת, כמו שיעורי התפוקה הנוכחיות באינטרנט).

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

היכולות של המכשיר

עיינו במסמכי התיעוד של התכונה המתאימה לקבלת פרטים על ההטמעה, כמו המאפיינים והמצבים שבהם השירות צריך לתמוך, והסבר על בניית תשובות 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
        }
      }
    ]
  }
}

הפעלת השבתה של פרופיל רשת

למידע נוסף על הפרמטרים של הפקודות, אפשר לעיין במאמר 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
        }
      }
    ]
  }
}

ERRORS מכשיר

לצפייה ברשימה המלאה של השגיאות והחריגים