Giản đồ tính năng NetworkControl cho 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 hoạt động cụ thể theo mạng.

ATTRIBUTE của thiết bị

Những thiết bị có đặc điểm này có thể báo cáo những điều sau trong thao tác SYNC. Để tìm hiểu tìm hiểu thêm về cách xử lý ý định SYNC, hãy xem 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 có thể bật mạng khách.

supportsDisablingGuestNetwork Boolean

(Mặc định: false)

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

supportsGettingGuestNetworkPassword Boolean

(Mặc định: false)

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

networkProfiles Mảng

Cho biết tên cấu hình 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 thiết bị có liên quan.

supportsEnablingNetworkProfile Boolean

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

Đặt thành true nếu 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 có thể chạy quy trình kiểm tra tốc độ tải xuống.

supportsNetworkUploadSpeedTest Boolean

(Mặc định: false)

Đặt thành true nếu có thể 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à tính năng kiểm tra tốc độ.

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

Thiết bị STATES

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

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

Liệu 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

Liệu mạng khách có được 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ố 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 đang nằm trong kỳ thanh toán hiện tại. Việc này có thể hữu ích khi bạn 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). Hạn mức 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ó giới hạn hay không. Trạng thái thiết bị networkUsageLimitMB sẽ bị bỏ qua nếu bạn đặt giá trị 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 của mạng gần đây nhất.

downloadSpeedMbps Number

Tốc độ tải xuống tính bằng Mbps (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ừ Kỷ nguyên Unix) cho biết thời điểm chạy lượt kiểm tra tốc độ tải xuống của mạng gần đây nhất.

status String

Cho biết lần kiểm tra tốc độ tải mạng xuống gần đây nhất thành công hay không thành cô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 Mbps (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ừ Kỷ nguyên Unix) cho thời điểm chạy bài kiểm tra tốc độ tải lên mạng gần đây nhất.

status String

Cho biết lượt kiểm tra tốc độ tải lên mạng gần đây nhất thành công hay thất bại.

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

SUCCESS
FAILURE
networkSpeedTestInProgress Boolean

(Mặc định: false)

Liệu hệ thống có đang chạy quá trình 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 các 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

Đố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 thuộc thuộc tính networkProfiles.

enabled Boolean

Trạng thái bật/tắt hiện tại của cấu hình 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ó 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ó nhãn "trẻ em" Đã tắt networkProfile.

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

lệnh của thiết bị

Những thiết bị có đặc điểm này có thể phản hồi với những đặc điểm sau các lệnh trong thao tác EXECUTE. Để tìm hiểu tìm hiểu thêm về cách xử lý ý định EXECUTE, hãy xem 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 phương thức xác minh người dùng thứ hai bằng mã PIN. Hệ thống an ninh trong nhà của người dùng có thể bị xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng 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
}

Tham số

Tham 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 hồ sơ mạng. Bạn phải sử dụng phương thức xác minh người dùng thứ hai bằng mã PIN. Hệ thống an ninh trong nhà của người dùng có thể bị xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng 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
}

Tham số

Tham số Loại Mô tả
profile String

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ố gắng kiểm soát cấu hình 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 phương thức xác minh người dùng thứ hai bằng mã PIN. Hệ thống an ninh trong nhà của người dùng có thể bị xem là bị ảnh hưởng nếu các thiết bị bảo mật khác bị tắt bằng những lệnh này.

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

Tham số

Tham số Loại Mô tả

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

Ví dụ

Hiện mật khẩu Wi-Fi khách của tôi.

{
  "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 khách của tôi.

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

Tham số

Tham số Loại Mô tả
testDownloadSpeed Boolean

Bắt buộc.

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

testUploadSpeed Boolean

Bắt buộc.

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

Thiết bị có đặc điểm này có thể trả về thông tin sau tải trọng phản hồi tiếp theo trong thao tác EXECUTE. Để tìm hiểu tìm hiểu thêm về cách triển khai các câu trả lời tiếp theo, hãy xem Thông báo về Hành động trong nhà thông minh.

Tải trọng chứa một trong các mục 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 qua mạng được đo 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 mạng được đo 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 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

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ị này có thể là mã lỗi bất kỳ của đặc điểm này, ví dụ: transientError.

Ví dụ

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

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

Tốc độ Wi-Fi là bao nhiêu? (tiếp tục phản hồi nếu không thành công)

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

Thiết bị ERRORS

Xem toàn bộ danh sách lỗi và ngoại lệ.

Đã xảy ra lỗi trong khi cố gắng kiểm soát cấu hình 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