Hướng dẫn về bộ định tuyến cho nhà thông minh

action.devices.types.ROUTER – Bộ định tuyến có thể khởi động lại, cập nhật phần mềm, có các chế độ kiểm soát Chất lượng dịch vụ (QoS) và các hạn chế của cha mẹ, đồng thời thực hiện các thao tác dành riêng cho mạng (chẳng hạn như bật mạng khách và báo cáo thông tin cụ thể về mạng, chẳng hạn như tốc độ thông lượng Internet hiện tại).

Loại này cho biết thiết bị sẽ nhận được biểu tượng Bộ định tuyến cũng như một số từ đồng nghĩa và bí danh có liên quan.

Dung lượng của thiết bị

Tham khảo tài liệu về đặc điểm tương ứng để biết thông tin chi tiết về cách triển khai, chẳng hạn như các thuộc tính và trạng thái mà dịch vụ của bạn sẽ hỗ trợ, cũng như cách tạo phản hồi EXECUTE và QUERY.

Trait bắt buộc

Các đặc điểm và lệnh này là bắt buộc nếu phù hợp với thiết bị của bạn. Nếu thiết bị của bạn không hỗ trợ các đặc điểm này, hãy nhập mã lỗi functionNotSupported vào phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và ngoại lệ để biết thêm thông tin.

Bạn nên dùng các đặc điểm này (nếu phù hợp với thiết bị của mình). Tuy nhiên, bạn có thể kết hợp tất cả các đặc điểm có sẵn để đáp ứng tốt nhất chức năng sản phẩm hiện có.

Yêu cầu về chất lượng

  • Độ trễ: phải nhỏ hơn hoặc bằng 300 mili giây.
  • Độ tin cậy: phải lớn hơn hoặc bằng 97%.

Thiết bị ví dụ: Bộ định tuyến đơn giản

Phần này chứa các gói dữ liệu ý định mẫu đại diện cho một "Bộ định tuyến" chung dựa trên loại thiết bị và đặc điểm ở trên. Nếu bạn thêm hoặc xoá đặc điểm trong quá trình triển khai, hãy sửa đổi các phản hồi của bạn cho phù hợp để phản ánh những thay đổi đó.

Phản hồi SYNC mẫu

Yêu cầu
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Câu trả lời
{
  "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"
        }
      }
    ]
  }
}

Phản hồi QUERY mẫu

Yêu cầu
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "networkEnabled": true,
        "networkSettings": {
          "ssid": "home-network-123"
        },
        "numConnectedDevices": 4,
        "networkUsageMB": 100.8
      }
    }
  }
}

Lệnh EXECUTE mẫu

Khởi động lại

Để biết thêm thông tin chi tiết về các tham số lệnh, vui lòng xem tài liệu tham khảo action.devices.traits.Reboot.

Yêu cầu
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Reboot"
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

EnableDisableNetworkProfile

Để biết thêm thông tin chi tiết về các tham số lệnh, vui lòng xem tài liệu tham khảo action.devices.traits.NetworkControl.

Yêu cầu
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.EnableDisableNetworkProfile",
                "params": {
                  "profile": "kids",
                  "enable": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "networkEnabled": true,
          "networkSettings": {
            "ssid": "home-network-123"
          }
        }
      }
    ]
  }
}

TestNetworkSpeed

Để biết thêm thông tin chi tiết về các tham số lệnh, vui lòng xem tài liệu tham khảo action.devices.traits.NetworkControl.

Yêu cầu
{
  "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"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true
        }
      }
    ]
  }
}

Thiết bị ERRORS

Xem danh sách đầy đủ lỗi và trường hợp ngoại lệ.