Giản đồ đặc điểm kiểm soát mạng cho nhà thông minh

action.devices.traits.NetworkControl – Đặc điểm này thuộc về các thiết bị hỗ trợ dữ liệu mạng báo cáo và thực hiện hoạt động dành riêng cho 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 quá trình SYNC. Để tìm hiểu thêm về cách xử lý ý định SYNC, vui lòng xem phần Thực hiện ý định.

Thuộc tính Loại Nội dung mô tả
supportsEnablingGuestNetwork Boolean

(Mặc định: false)

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

supportsDisablingGuestNetwork Boolean

(Mặc định: false)

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

supportsGettingGuestNetworkPassword Boolean

(Mặc định: false)

Đặt thành đúng 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, ...] Chuỗi

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 bạn có thể tắt hồ sơ mạng.

supportsNetworkDownloadSpeedTest Boolean

(Mặc định: false)

Đặt thành true nếu 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 có thể chạy quy trình 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à hoạt động 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 của 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 trong thao tác QUERY. Để tìm hiểu thêm về cách xử lý ý định QUERY, vui lòng xem phần Thực hiện ý định.

Tiểu bang Loại Nội dung mô tả
networkEnabled Boolean

Liệu mạng chính có được bật hay không.

networkSettings Đối tượng

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

ssid Chuỗi

Bắt buộc.

SSID mạng.

guestNetworkEnabled Boolean

Liệu mạng khách có được bật hay không.

guestNetworkSettings Đối tượng

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

ssid Chuỗi

Bắt buộc.

SSID mạng.

numConnectedDevices Số nguyên

Số thiết bị kết nố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. Điều này có thể hữu ích khi giám sát giới hạn sử dụng mạng trong 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

Liệu mức sử dụng mạng có không giới hạn hay không. Trạng thái 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 qua 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ừ Epoch Epoch) cho thời điểm chạy quy trình kiểm tra tốc độ tải xuống mạng gần đây nhất.

status Chuỗi

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 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ừ Epoch Epoch) cho lần kiểm tra tốc độ tải lên mạng gần đây nhất.

status Chuỗi

Cho biết liệu lần kiểm tra tốc độ tải lên 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)

Liệu có đang chạy chế độ kiểm tra tốc độ hay không.

networkProfilesState Đối tượng

Trạng thái của 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 những cấu hình 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 cấu hình đó.

<string> Đối tượng

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

enabled Boolean

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

Ví dụ

Thiết bị có 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ó kết quả kiểm tra tốc độ và mạng đang hoạt động.

{
  "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ị đang kiểm tra tốc độ và mạng đang hoạt động.

{
  "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 là "dành cho trẻ em" đang tắt.

{
  "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ó trait này có thể phản hồi các lệnh sau đây trong quá trình thao tác EXECUTE. Để tìm hiểu thêm về cách xử lý ý định EXECUTE, vui lòng xem phần Thực hiện ý định.

action.devices.commands.EnableDisableGuestNetwork

Bật hoặc tắt mạng khách. Phải sử dụng phương thức xác minh thứ hai khi xác minh người dùng bằng mã PIN. Tính năng bảo mật nhà của người dùng có thể được xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng các 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 Nội dung mô tả
enable Boolean

Bắt buộc.

Đặt là 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 hồ sơ mạng. Phải sử dụng phương thức xác minh thứ hai khi xác minh người dùng bằng mã PIN. Tính năng bảo mật nhà của người dùng có thể được xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng các 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 Chuỗi

Bắt buộc.

Tên hồ sơ trong 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 trong khi cố 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 của mạng khách. Phải sử dụng phương thức xác minh thứ hai khi xác minh người dùng bằng mã PIN. Tính năng bảo mật nhà của người dùng có thể được xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng các 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 Nội dung mô tả

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

Ví dụ

Cho tôi xem mật khẩu Wi-Fi khách.

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

Kết quả

Kết quả Loại Mô tả
guestNetworkPassword Chuỗi

Bắt buộc.

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

Ví dụ

Cho tôi xem mật khẩu Wi-Fi 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 Nội dung mô tả
testDownloadSpeed Boolean

Bắt buộc.

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

testUploadSpeed Boolean

Bắt buộc.

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

followUpToken Chuỗi

Bắt buộc.

Mã thông báo do Google cung cấp để 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 thao tác EXECUTE. Để tìm hiểu thêm về cách triển khai phản hồi tiếp theo, hãy xem bài viết Thông báo cho các Hành động trong nhà thông minh.

Gói dữ liệu có một trong các nội dung sau:

Thành công: networkDownloadSpeedMbps

Các trường Loại Mô tả
followUpToken Chuỗi

Bắt buộc.

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

status Chuỗi

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 qua mạng được đo bằng megabit/giây.

Thành công: networkUploadSpeedMbps

Các trường Loại Mô tả
followUpToken Chuỗi

Bắt buộc.

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

status Chuỗi

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 mạng được đo bằng megabit/giây.

Thành công: networkDownloadSpeedMbps và networkUploadSpeedMbps

Các trường Loại Mô tả
followUpToken Chuỗi

Bắt buộc.

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

status Chuỗi

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 qua mạng được đo bằng megabit/giây.

networkUploadSpeedMbps Number

Bắt buộc.

Tốc độ tải lên mạng được đo bằng megabit/giây.

Lỗi

Các trường Loại Mô tả
followUpToken Chuỗi

Bắt buộc.

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

status Chuỗi

Bắt buộc.

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

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

FAILURE
errorCode Chuỗi

Bắt buộc.

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

Ví dụ

Tốc độ Wi-Fi là bao nhiêu? (câu trả lời tiếp nối)

{
  "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 nối không thành công)

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

Thiết bị ERRORS

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

Đã xảy ra lỗi trong khi cố 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