สคีมาลักษณะของ NetworkControl ในบ้านอัจฉริยะ

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

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

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

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 เพื่อเรียนรู้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่ การจำหน่าย Intent

รัฐ ประเภท คำอธิบาย
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 (จำนวนวินาทีนับตั้งแต่ Unix Epoch) ของการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุด

status String

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

ค่าที่รองรับ

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

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

uploadSpeedMbps Number

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

unixTimestampSec จำนวนเต็ม

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

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 แล้ว

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

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

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

action.devices.commands.EnableDisableGuestNetwork

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

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

พารามิเตอร์

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

ต้องระบุ

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

ตัวอย่าง

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

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

action.devices.commands.EnableDisableNetworkProfile

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

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

พารามิเตอร์

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

ต้องระบุ

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

enable บูลีน

ต้องระบุ

"จริง" เพื่อเปิดใช้โปรไฟล์ "เท็จ" เพื่อปิดใช้โปรไฟล์

ตัวอย่าง

ปิดอินเทอร์เน็ตให้บุตรหลาน

{
  "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 เพื่อเรียนรู้ เพิ่มเติมเกี่ยวกับการใช้คำตอบติดตามผลได้ที่ การแจ้งเตือนสำหรับการดำเนินการในสมาร์ทโฮม

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

สำเร็จ: 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