สคีมาลักษณะเครือข่ายควบคุมสมาร์ทโฮม

action.devices.traits.NetworkControl - ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการรายงานข้อมูลเครือข่ายและการดำเนินการเฉพาะเครือข่าย

แอตทริบิวต์อุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้ เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการSYNCเจตนาได้ที่การดำเนินการตามเจตนา

Attributes ประเภท คำอธิบาย
supportsEnablingGuestNetwork บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็น "จริง" หากเปิดใช้เครือข่ายสำหรับผู้มาเยือนได้

supportsDisablingGuestNetwork บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็น "จริง" หากปิดใช้เครือข่ายสำหรับผู้มาเยือนได้

supportsGettingGuestNetworkPassword บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็น "จริง" หากรับรหัสผ่านเครือข่ายสำหรับผู้มาเยือนได้ผ่านคำสั่ง GetGuestNetworkPassword

networkProfiles อาร์เรย์

ระบุชื่อโปรไฟล์เครือข่ายที่รองรับ

[item, ...] String

ชื่อของโปรไฟล์เครือข่ายที่แสดงถึงกลุ่มอุปกรณ์ที่เกี่ยวข้อง

supportsEnablingNetworkProfile บูลีน

(ค่าเริ่มต้น: "false")

ตั้งค่าเป็น "จริง" หากเปิดใช้โปรไฟล์เครือข่ายได้

supportsDisablingNetworkProfile บูลีน

(ค่าเริ่มต้น: "false")

ตั้งค่าเป็น "จริง" หากปิดใช้โปรไฟล์เครือข่ายได้

supportsNetworkDownloadSpeedTest บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็น "จริง" หากเรียกใช้การทดสอบความเร็วในการดาวน์โหลดได้

supportsNetworkUploadSpeedTest บูลีน

(ค่าเริ่มต้น: false)

ตั้งค่าเป็นจริงหากเรียกใช้การทดสอบความเร็วในการอัปโหลดได้

ตัวอย่าง

อุปกรณ์เครือข่ายที่รองรับเครือข่ายสำหรับผู้มาเยือน โปรไฟล์ และการทดสอบความเร็ว

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

สถานะของอุปกรณ์

เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการเจตนา QUERY ได้ที่การดำเนินการตามเจตนา

รัฐ ประเภท คำอธิบาย
networkEnabled บูลีน

เปิดใช้เครือข่ายหลักหรือไม่

networkSettings ออบเจ็กต์

มี SSID ของเครือข่ายหลัก

ssid String

ต้องระบุ

SSID ของเครือข่าย

guestNetworkEnabled บูลีน

เปิดใช้เครือข่ายสำหรับผู้มาเยือนหรือไม่

guestNetworkSettings ออบเจ็กต์

มี SSID ของเครือข่ายสำหรับผู้มาเยือน

ssid String

ต้องระบุ

SSID ของเครือข่าย

numConnectedDevices จำนวนเต็ม

จำนวนอุปกรณ์ที่เชื่อมต่อกับเครือข่าย

networkUsageMB Number

การใช้งานเครือข่ายในหน่วย MB (เมกะไบต์) การใช้งานเครือข่ายอยู่ในช่วงเวลาที่เรียกเก็บเงินปัจจุบัน ซึ่งอาจมีประโยชน์ในการตรวจสอบเมื่อเทียบกับการจำกัดการใช้งานเครือข่ายในช่วงเวลาที่เรียกเก็บเงิน

networkUsageLimitMB Number

ขีดจำกัดการใช้งานเครือข่ายในหน่วย MB (เมกะไบต์) การจำกัดการใช้งานเครือข่ายอยู่ในช่วงเวลาที่เรียกเก็บเงินปัจจุบัน

networkUsageUnlimited บูลีน

ไม่ว่าการใช้งานเครือข่ายจะไม่มีการจำกัดหรือไม่ก็ตาม ระบบจะไม่สนใจสถานะอุปกรณ์ networkUsageLimitMB หากตั้งค่าเป็น "จริง"

lastNetworkDownloadSpeedTest ออบเจ็กต์

มีผลการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุด

downloadSpeedMbps Number

ความเร็วในการดาวน์โหลดเป็น Mbps (เมกะบิตต่อวินาที) ของการทดสอบความเร็วเครือข่ายครั้งล่าสุด

unixTimestampSec จำนวนเต็ม

การประทับเวลา Unix (จำนวนวินาทีนับตั้งแต่ Epoch ของ Unix) ของเวลาที่ทำการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุด

status String

ระบุว่าการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุดสำเร็จหรือไม่

ค่าที่รองรับมีดังนี้

SUCCESS
FAILURE
lastNetworkUploadSpeedTest ออบเจ็กต์

มีผลการทดสอบความเร็วในการอัปโหลดของเครือข่ายล่าสุด

uploadSpeedMbps Number

ความเร็วในการอัปโหลดเป็น Mbps (เมกะบิตต่อวินาที) ของการทดสอบความเร็วเครือข่ายครั้งล่าสุด

unixTimestampSec จำนวนเต็ม

การประทับเวลา Unix (จำนวนวินาทีนับตั้งแต่ Epoch ของ Unix) ของเวลาที่ทำการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุด

status String

ระบุว่าการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุดสำเร็จหรือล้มเหลว

ค่าที่รองรับมีดังนี้

SUCCESS
FAILURE
networkSpeedTestInProgress บูลีน

(ค่าเริ่มต้น: false)

ขณะนี้มีการทดสอบความเร็วหรือไม่

networkProfilesState ออบเจ็กต์

สถานะสำหรับโปรไฟล์เครือข่าย ออบเจ็กต์ระดับบนสุดนี้ควรมีคู่คีย์-ค่า โดยคีย์คือชื่อของโปรไฟล์เครือข่ายรายการใดรายการหนึ่งที่ระบุไว้ในแอตทริบิวต์ networkProfiles และค่าควรเป็นสถานะที่สอดคล้องกันของโปรไฟล์นั้น

<string> ออบเจ็กต์

ออบเจ็กต์ที่จัดเก็บสถานะของโปรไฟล์เครือข่ายแต่ละรายการ ค่าของ คีย์ควรเป็นชื่อของโปรไฟล์เครือข่ายใดเครือข่ายหนึ่งในแอตทริบิวต์ networkProfiles

enabled บูลีน

สถานะปัจจุบันของโปรไฟล์เครือข่ายที่เปิด/ปิดใช้

ตัวอย่าง

อุปกรณ์ที่มีเครือข่ายที่ใช้งานอยู่

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

อุปกรณ์ที่มีเครือข่ายที่ใช้งานอยู่และผลการทดสอบความเร็ว

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

อุปกรณ์ที่มีเครือข่ายที่ใช้งานอยู่และกำลังทดสอบความเร็ว

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

อุปกรณ์ที่ปิดใช้ networkProfile "kids"

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

คำสั่งของอุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้ ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการEXECUTEเจตนาได้ที่การดำเนินการตามเจตนา

action.devices.commands.EnableDisableGuestNetwork

เปิดหรือปิดใช้เครือข่ายสำหรับผู้มาเยือน ต้องใช้วิธีการสำรองในการยืนยันผู้ใช้ด้วย PIN ระบบจะถือว่าความปลอดภัยในบ้านของผู้ใช้ได้รับผลกระทบหากมีการปิดใช้อุปกรณ์รักษาความปลอดภัยอื่นๆ ผ่านคำสั่งเหล่านี้

คำสั่งนี้ต้องมีแอตทริบิวต์ต่อไปนี้
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
enable บูลีน

ต้องระบุ

True เพื่อเปิดใช้เครือข่ายสำหรับผู้มาเยือน, False เพื่อปิดใช้เครือข่ายสำหรับผู้มาเยือน

ตัวอย่าง

เปิดเครือข่ายสำหรับผู้มาเยือน

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

action.devices.commands.EnableDisableNetworkProfile

เปิดหรือปิดใช้โปรไฟล์เครือข่าย ต้องใช้วิธีการสำรองในการยืนยันผู้ใช้ด้วย PIN ระบบจะถือว่าความปลอดภัยในบ้านของผู้ใช้ได้รับผลกระทบหากมีการปิดใช้อุปกรณ์รักษาความปลอดภัยอื่นๆ ผ่านคำสั่งเหล่านี้

คำสั่งนี้ต้องมีแอตทริบิวต์ต่อไปนี้
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
profile String

ต้องระบุ

ชื่อโปรไฟล์จากแอตทริบิวต์ networkProfiles

enable บูลีน

ต้องระบุ

True เพื่อเปิดใช้โปรไฟล์, False เพื่อปิดใช้โปรไฟล์

ตัวอย่าง

ปิดอินเทอร์เน็ตสำหรับเด็ก

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

เกิดข้อผิดพลาดขณะพยายามควบคุมโปรไฟล์เครือข่ายที่ระบุ

ค่าที่รองรับมีดังนี้

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

รับรหัสผ่านเครือข่ายสำหรับผู้มาเยือน ต้องใช้วิธีการสำรองในการยืนยันผู้ใช้ด้วย PIN ระบบจะถือว่าความปลอดภัยในบ้านของผู้ใช้ได้รับผลกระทบหากมีการปิดใช้อุปกรณ์รักษาความปลอดภัยอื่นๆ ผ่านคำสั่งเหล่านี้

คำสั่งนี้ต้องมีแอตทริบิวต์ต่อไปนี้
{
  "supportsGettingGuestNetworkPassword": true
}

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย

ไม่มีพร็อพเพอร์ตี้

ตัวอย่าง

แสดงรหัสผ่าน Wi-Fi สำหรับผู้มาเยือนของฉัน

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

ผลลัพธ์

ผลลัพธ์ ประเภท คำอธิบาย
guestNetworkPassword String

ต้องระบุ

รหัสผ่านสำหรับเครือข่ายสำหรับผู้มาเยือน

ตัวอย่าง

แสดงรหัสผ่าน Wi-Fi สำหรับผู้มาเยือนของฉัน

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

ทดสอบความเร็วในการดาวน์โหลดและอัปโหลดของเครือข่าย

คำสั่งนี้ต้องมีแอตทริบิวต์ต่อไปนี้
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
testDownloadSpeed บูลีน

ต้องระบุ

ระบุว่าควรทดสอบความเร็วในการดาวน์โหลดหรือไม่

testUploadSpeed บูลีน

ต้องระบุ

ระบุว่าควรทดสอบความเร็วในการอัปโหลดหรือไม่

followUpToken String

ต้องระบุ

โทเค็นที่ Google จัดหาให้สำหรับคำตอบติดตามผล

ตัวอย่าง

ความเร็ว Wi-Fi เป็นเท่าไหร่

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

เกิดข้อผิดพลาดขณะพยายามขอทดสอบความเร็ว

ค่าที่รองรับมีดังนี้

networkSpeedTestInProgress

การตอบกลับติดตามผล

อุปกรณ์ที่มีลักษณะนี้อาจแสดงเพย์โหลดการตอบกลับแบบติดตามผลต่อไปนี้เป็นส่วนหนึ่งของEXECUTEการดำเนินการ หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานการตอบกลับแบบติดตามผล โปรดดูการแจ้งเตือนสำหรับ Actions สมาร์ทโฮม

เพย์โหลดมีข้อมูลอย่างใดอย่างหนึ่งต่อไปนี้

สำเร็จ: networkDownloadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken String

ต้องระบุ

โทเค็นที่ระบุในคำขอ EXECUTE เดิม

status String

ต้องระบุ

ผลลัพธ์ของคำขอ

ค่าที่รองรับมีดังนี้

SUCCESS
networkDownloadSpeedMbps Number

ต้องระบุ

ความเร็วในการดาวน์โหลดเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที

สำเร็จ: networkUploadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken String

ต้องระบุ

โทเค็นที่ระบุในคำขอ EXECUTE เดิม

status String

ต้องระบุ

ผลลัพธ์ของคำขอ

ค่าที่รองรับมีดังนี้

SUCCESS
networkUploadSpeedMbps Number

ต้องระบุ

ความเร็วในการอัปโหลดเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที

สำเร็จ: networkDownloadSpeedMbps และ networkUploadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken String

ต้องระบุ

โทเค็นที่ระบุในคำขอ EXECUTE เดิม

status String

ต้องระบุ

ผลลัพธ์ของคำขอ

ค่าที่รองรับมีดังนี้

SUCCESS
networkDownloadSpeedMbps Number

ต้องระบุ

ความเร็วในการดาวน์โหลดเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที

networkUploadSpeedMbps Number

ต้องระบุ

ความเร็วในการอัปโหลดเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที

ล้มเหลว

ช่อง ประเภท คำอธิบาย
followUpToken String

ต้องระบุ

โทเค็นที่ระบุในคำขอ EXECUTE เดิม

status String

ต้องระบุ

ผลลัพธ์ของคำขอ

ค่าที่รองรับมีดังนี้

FAILURE
errorCode String

ต้องระบุ

ค่าอาจเป็นรหัสข้อผิดพลาดสำหรับลักษณะนี้ เช่น transientError

ตัวอย่าง

ความเร็ว Wi-Fi เป็นเท่าไหร่ (การตอบกลับติดตาม)

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

ความเร็ว Wi-Fi เป็นเท่าไหร่ (การตอบกลับติดตามผลที่ล้มเหลว)

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

ข้อผิดพลาดของอุปกรณ์

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด

เกิดข้อผิดพลาดขณะพยายามควบคุมโปรไฟล์เครือข่ายที่ระบุ

ค่าที่รองรับมีดังนี้

networkProfileNotRecognized

เกิดข้อผิดพลาดขณะพยายามขอทดสอบความเร็ว

ค่าที่รองรับมีดังนี้

networkSpeedTestInProgress