Giản đồ đặc điểm NetworkControl của nhà thông minh

action.devices.traits.NetworkControl – Đặc điểm này thuộc về các 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ể liên quan đến mạng.

Thuộc tính 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 thực hiện 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 có thể bật mạng khách.

supportsDisablingGuestNetwork Boolean

(Mặc định: false)

Đặt thành true nếu 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 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 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 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 quá trình thực hiện 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

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

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ố 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 để theo dõi 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

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ả 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ừ thời gian bắt đầu Unix) của thời điểm chạy kiểm tra tốc độ tải xuống qua 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 qua 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ả 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ừ thời gian bắt đầu Unix) của thời điểm chạy 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 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 bài kiểm tra tốc độ có đang chạy 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 một hồ sơ mạng riêng lẻ. 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 đ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 nối 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ị đã tắt networkProfile "kids".

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

LỆNH của 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 quá trình hoạt động 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 phương thức xác minh người dùng phụ bằng mã PIN. Hệ thống bảo mật nhà của người dùng có thể bị ảnh hưởng nếu các thiết bị bảo mật khác bị vô hiệu hoá thông qua 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 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 phụ bằng mã PIN. Hệ thống bảo mật nhà của người dùng có thể bị ảnh hưởng nếu các thiết bị bảo mật khác bị vô hiệu hoá thông qua 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 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

Nhận 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 phụ bằng mã PIN. Hệ thống bảo mật nhà của người dùng có thể bị ảnh hưởng nếu các thiết bị bảo mật khác bị vô hiệu hoá thông qua 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 Mô tả

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

Ví dụ

Hiện mật khẩu Wi-Fi dành 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 dành 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 liệu 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 để trả lờ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 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 phần Thông báo cho Hành động nhà thông minh.

Trọng tải 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 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 qua 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 qua 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à 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 với lỗi)

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

LỖI thiết bị

Xem danh sách đầy đủ lỗi và 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