สคีมาลักษณะ 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 (จำนวนวินาทีนับตั้งแต่ 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 ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ 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