Lược đồ đặc điểm NetworkControl của nhà thông minh

action.devices.traits.NetworkControl – Đặc điểm này thuộc về những thiết bị hỗ trợ báo cáo dữ liệu mạng và thực hiện các thao tác cụ thể trên mạng.

THUỘC TÍNH của thiết bị

Các thiết bị có đặc điểm này có thể báo cáo các thuộc tính sau đây trong thao tác SYNC. Để tìm hiểu thêm về cách xử lý ý định SYNC, hãy xem phần Thực hiện ý định.

Thuộc tính Loại Mô tả
supportsEnablingGuestNetwork Boolean

(Mặc định: false)

Đặt thành true nếu bạn có thể bật mạng khách.

supportsDisablingGuestNetwork Boolean

(Mặc định: false)

Đặt thành true nếu bạn có thể tắt mạng khách.

supportsGettingGuestNetworkPassword Boolean

(Mặc định: false)

Đặt thành true nếu có thể lấy mật khẩu mạng khách thông qua lệnh GetGuestNetworkPassword.

networkProfiles Mảng

Cho biết tên hồ sơ mạng được hỗ trợ.

[item, ...] String

Tên của một hồ sơ mạng đại diện cho một nhóm các thiết bị có liên quan.

supportsEnablingNetworkProfile Boolean

(Mặc định: "false")

Đặt thành true nếu bạn có thể bật hồ sơ mạng.

supportsDisablingNetworkProfile Boolean

(Mặc định: "false")

Đặt thành true nếu có thể tắt hồ sơ mạng.

supportsNetworkDownloadSpeedTest Boolean

(Mặc định: false)

Đặt thành true nếu bạn có thể chạy kiểm tra tốc độ tải xuống.

supportsNetworkUploadSpeedTest Boolean

(Mặc định: false)

Đặt thành true nếu bạn có thể chạy kiểm tra tốc độ tải lên.

Ví dụ

Thiết bị mạng hỗ trợ mạng khách, hồ sơ và kiểm tra tốc độ.

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

TRẠNG THÁI thiết bị

Các thực thể có đặc điểm này có thể báo cáo các trạng thái sau đây trong thao tác QUERY. Để tìm hiểu thêm về cách xử lý ý định QUERY, hãy xem phần Thực hiện ý định.

Tiểu bang Loại Mô tả
networkEnabled Boolean

Mạng chính có được bật hay không.

networkSettings Đối tượng

Chứa SSID của mạng chính.

ssid String

Bắt buộc.

SSID mạng.

guestNetworkEnabled Boolean

Mạng khách có đang bật hay không.

guestNetworkSettings Đối tượng

Chứa SSID của mạng khách.

ssid String

Bắt buộc.

SSID mạng.

numConnectedDevices Số nguyên

Số lượng thiết bị kết nối với mạng.

networkUsageMB Number

Mức sử dụng mạng tính bằng MB (megabyte). Mức sử dụng mạng nằm trong kỳ thanh toán hiện tại. Thông tin này có thể hữu ích khi bạn theo dõi mức sử dụng mạng so với giới hạn sử dụng mạng trong một kỳ thanh toán.

networkUsageLimitMB Number

Giới hạn sử dụng mạng tính bằng MB (megabyte). Giới hạn sử dụng mạng nằm trong kỳ thanh toán hiện tại.

networkUsageUnlimited Boolean

Mức sử dụng mạng có phải là không giới hạn hay không. Trạng thái thiết bị networkUsageLimitMB sẽ bị bỏ qua nếu bạn đặt chính sách này thành true.

lastNetworkDownloadSpeedTest Đối tượng

Chứa kết quả của lần kiểm tra tốc độ tải xuống mạng gần đây nhất.

downloadSpeedMbps Number

Tốc độ tải xuống tính bằng Mb/giây (megabit/giây) của lần kiểm tra tốc độ mạng gần đây nhất.

unixTimestampSec Số nguyên

Dấu thời gian Unix (số giây kể từ Thời gian Unix) của lần kiểm tra tốc độ tải xuống mạng gần đây nhất.

status String

Cho biết liệu lần kiểm tra tốc độ tải xuống mạng gần đây nhất có thành công hay không.

Các giá trị được hỗ trợ:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Đối tượng

Chứa kết quả của lần kiểm tra tốc độ tải lên mạng gần đây nhất.

uploadSpeedMbps Number

Tốc độ tải lên (đơn vị là megabit/giây) của lần kiểm tra tốc độ mạng gần đây nhất.

unixTimestampSec Số nguyên

Dấu thời gian Unix (số giây kể từ Thời gian Unix) của lần kiểm tra tốc độ tải lên mạng gần đây nhất.

status String

Cho biết liệu lần kiểm tra tốc độ tải lên của mạng gần đây nhất có thành công hay không.

Các giá trị được hỗ trợ:

SUCCESS
FAILURE
networkSpeedTestInProgress Boolean

(Mặc định: false)

Có đang chạy kiểm tra tốc độ hay không.

networkProfilesState Đối tượng

Trạng thái cho hồ sơ mạng. Đối tượng cấp cao nhất này phải chứa các cặp khoá-giá trị, trong đó khoá là tên của một trong các hồ sơ mạng được liệt kê trong thuộc tính networkProfiles và giá trị phải là trạng thái tương ứng của hồ sơ đó.

<string> Đối tượng

Một đối tượng lưu trữ trạng thái của từng hồ sơ mạng. Giá trị của khoá phải là tên của một trong các hồ sơ mạng trong thuộc tính networkProfiles.

enabled Boolean

Trạng thái hiện tại của hồ sơ mạng (đã bật/tắt).

Ví dụ

Thiết bị có kết nối mạng đang hoạt động.

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

Thiết bị có mạng đang hoạt động và kết quả kiểm tra tốc độ.

{
  "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"
  }
}

Thiết bị có mạng đang hoạt động và đang kiểm tra tốc độ.

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

Thiết bị có networkProfile "kids" bị vô hiệu hoá.

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

LỆNH trên thiết bị

Các thiết bị có đặc điểm này có thể phản hồi các lệnh sau đây trong thao tác EXECUTE. Để tìm hiểu thêm về cách xử lý ý định EXECUTE, hãy xem phần Thực hiện ý định.

action.devices.commands.EnableDisableGuestNetwork

Bật hoặc tắt mạng khách. Bạn phải sử dụng bước thứ hai để xác minh người dùng bằng mã PIN. Hệ thống an ninh tại nhà của người dùng có thể được coi là bị ảnh hưởng nếu các thiết bị an ninh khác bị vô hiệu hoá thông qua những lệnh này.

Lệnh này yêu cầu các thuộc tính sau:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Thông số

Thông số Loại Mô tả
enable Boolean

Bắt buộc.

True để bật mạng khách, false để tắt mạng khách.

Ví dụ

Bật mạng khách.

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

action.devices.commands.EnableDisableNetworkProfile

Bật hoặc tắt một hồ sơ mạng. Bạn phải sử dụng bước thứ hai để xác minh người dùng bằng mã PIN. Hệ thống an ninh tại nhà của người dùng có thể được coi là bị ảnh hưởng nếu các thiết bị an ninh khác bị vô hiệu hoá thông qua những lệnh này.

Lệnh này yêu cầu các thuộc tính sau:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Thông số

Thông số Loại Mô tả
profile String

Bắt buộc.

Tên hồ sơ từ thuộc tính networkProfiles.

enable Boolean

Bắt buộc.

True để bật hồ sơ, false để tắt hồ sơ.

Ví dụ

Tắt Internet cho trẻ.

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

Đã xảy ra lỗi khi cố gắng kiểm soát hồ sơ mạng đã cho.

Các giá trị được hỗ trợ:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Lấy mật khẩu mạng khách. Bạn phải sử dụng bước thứ hai để xác minh người dùng bằng mã PIN. Hệ thống an ninh tại nhà của người dùng có thể được coi là bị ảnh hưởng nếu các thiết bị an ninh khác bị vô hiệu hoá thông qua những lệnh này.

Lệnh này yêu cầu các thuộc tính sau:
{
  "supportsGettingGuestNetworkPassword": true
}

Thông số

Thông số Loại Mô tả

Không có thuộc tính nào

Ví dụ

Hiện mật khẩu Wi-Fi cho khách.

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

Kết quả

Kết quả Loại Mô tả
guestNetworkPassword String

Bắt buộc.

Mật khẩu cho mạng khách.

Ví dụ

Hiện mật khẩu Wi-Fi cho khách.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Kiểm tra tốc độ tải xuống và tải lên của mạng.

Lệnh này yêu cầu các thuộc tính sau:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Thông số

Thông số Loại Mô tả
testDownloadSpeed Boolean

Bắt buộc.

Cho biết có nên kiểm tra tốc độ tải xuống hay không.

testUploadSpeed Boolean

Bắt buộc.

Cho biết có nên kiểm tra tốc độ tải lên hay không.

followUpToken String

Bắt buộc.

Mã thông báo do Google cung cấp cho phản hồi tiếp theo.

Ví dụ

Tốc độ Wi-Fi là bao nhiêu?

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

Đã xảy ra lỗi khi cố gắng yêu cầu kiểm tra tốc độ.

Các giá trị được hỗ trợ:

networkSpeedTestInProgress

Câu trả lời tiếp theo

Các thiết bị có đặc điểm này có thể trả về tải trọng phản hồi tiếp theo sau đây trong quá trình hoạt động EXECUTE. Để tìm hiểu thêm về cách triển khai các phản hồi tiếp theo, hãy xem bài viết Thông báo cho các Thao tác nhà thông minh.

Tải trọng chứa một trong những nội dung sau:

Thành công: networkDownloadSpeedMbps

Trường Loại Mô tả
followUpToken String

Bắt buộc.

Mã thông báo được cung cấp trong yêu cầu EXECUTE ban đầu.

status String

Bắt buộc.

Kết quả của yêu cầu.

Các giá trị được hỗ trợ:

SUCCESS
networkDownloadSpeedMbps Number

Bắt buộc.

Tốc độ tải xuống của mạng, tính bằng megabit/giây.

Thành công: networkUploadSpeedMbps

Trường Loại Mô tả
followUpToken String

Bắt buộc.

Mã thông báo được cung cấp trong yêu cầu EXECUTE ban đầu.

status String

Bắt buộc.

Kết quả của yêu cầu.

Các giá trị được hỗ trợ:

SUCCESS
networkUploadSpeedMbps Number

Bắt buộc.

Tốc độ tải lên của mạng, tính bằng megabit/giây.

Thành công: networkDownloadSpeedMbps và networkUploadSpeedMbps

Trường Loại Mô tả
followUpToken String

Bắt buộc.

Mã thông báo được cung cấp trong yêu cầu EXECUTE ban đầu.

status String

Bắt buộc.

Kết quả của yêu cầu.

Các giá trị được hỗ trợ:

SUCCESS
networkDownloadSpeedMbps Number

Bắt buộc.

Tốc độ tải xuống của mạng, tính bằng megabit/giây.

networkUploadSpeedMbps Number

Bắt buộc.

Tốc độ tải lên của mạng, tính bằng megabit/giây.

Lỗi

Trường Loại Mô tả
followUpToken String

Bắt buộc.

Mã thông báo được cung cấp trong yêu cầu EXECUTE ban đầu.

status String

Bắt buộc.

Kết quả của yêu cầu.

Các giá trị được hỗ trợ:

FAILURE
errorCode String

Bắt buộc.

Giá trị có thể là bất kỳ mã lỗi nào cho đặc điểm này, ví dụ: transientError.

Ví dụ

Tốc độ Wi-Fi là bao nhiêu? (phản hồi tiếp theo)

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

Tốc độ Wi-Fi là bao nhiêu? (phản hồi tiếp theo khi thất bại)

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

LỖI thiết bị

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

Đã xảy ra lỗi khi cố gắng kiểm soát hồ sơ mạng đã cho.

Các giá trị được hỗ trợ:

networkProfileNotRecognized

Đã xảy ra lỗi khi cố gắng yêu cầu kiểm tra tốc độ.

Các giá trị được hỗ trợ:

networkSpeedTestInProgress