สคีมาลักษณะ NetworkControl สมาร์ทโฮม
action.devices.traits.NetworkControl - ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการรายงานข้อมูลเครือข่ายและการดำเนินการเฉพาะเครือข่าย
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
supportsEnablingGuestNetwork | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากเปิดใช้เครือข่ายสำหรับผู้มาเยือนได้  | 
  
supportsDisablingGuestNetwork | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากปิดใช้เครือข่ายสำหรับผู้มาเยือนได้  | 
  
supportsGettingGuestNetworkPassword | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากรับรหัสผ่านเครือข่ายสำหรับผู้มาเยือนได้ผ่านคำสั่ง   | 
  
networkProfiles | 
    อาร์เรย์ | 
       ระบุชื่อโปรไฟล์เครือข่ายที่รองรับ  | 
  
[item, ...] | 
    String | 
       ชื่อโปรไฟล์เครือข่ายที่แสดงถึงกลุ่มอุปกรณ์ที่เกี่ยวข้อง  | 
  
supportsEnablingNetworkProfile | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากเปิดใช้โปรไฟล์เครือข่ายได้  | 
  
supportsDisablingNetworkProfile | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากปิดใช้โปรไฟล์เครือข่ายได้  | 
  
supportsNetworkDownloadSpeedTest | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากสามารถเรียกใช้การทดสอบความเร็วในการดาวน์โหลดได้  | 
  
supportsNetworkUploadSpeedTest | 
    บูลีน | 
       (ค่าเริ่มต้น:  ตั้งค่าเป็น "จริง" หากสามารถเรียกใช้การทดสอบความเร็วในการอัปโหลดได้  | 
  
ตัวอย่าง
อุปกรณ์เครือข่ายที่รองรับเครือข่ายสำหรับผู้มาเยือน โปรไฟล์ และการทดสอบความเร็ว
{ "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 | 
       บ่งบอกว่าการทดสอบความเร็วการดาวน์โหลดของเครือข่ายครั้งล่าสุดสำเร็จหรือไม่ ค่าที่รองรับ 
  | 
  
lastNetworkUploadSpeedTest | 
    ออบเจ็กต์ | 
       มีผลการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุด  | 
  
uploadSpeedMbps | 
    Number | 
       ความเร็วในการอัปโหลดเป็น Mbps (เมกะบิตต่อวินาที) ของการทดสอบความเร็วเครือข่ายครั้งล่าสุด  | 
  
unixTimestampSec | 
    จำนวนเต็ม | 
       การประทับเวลา Unix (จำนวนวินาทีนับตั้งแต่ Epoch ของ Unix) ของเวลาที่ทำการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุด  | 
  
status | 
    String | 
       บ่งบอกว่าการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุดสำเร็จหรือไม่ ค่าที่รองรับ 
  | 
  
networkSpeedTestInProgress | 
    บูลีน | 
       (ค่าเริ่มต้น:  กำลังทำการทดสอบความเร็วอยู่หรือไม่  | 
  
networkProfilesState | 
    ออบเจ็กต์ | 
       สถานะสำหรับโปรไฟล์เครือข่าย ออบเจ็กต์ระดับบนสุดนี้ควรมีคู่คีย์-ค่า โดยที่คีย์คือชื่อโปรไฟล์เครือข่ายรายการใดรายการหนึ่งในแอตทริบิวต์   | 
  
<string> | 
    ออบเจ็กต์ | 
       ออบเจ็กต์ที่จัดเก็บสถานะของโปรไฟล์เครือข่ายแต่ละรายการ ค่าของ  | 
  
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 | 
       ต้องระบุ ชื่อโปรไฟล์จากแอตทริบิวต์   | 
  
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 | 
       ต้องระบุ ผลลัพธ์ของคำขอ ค่าที่รองรับ 
  | 
  
networkDownloadSpeedMbps | 
    Number | 
       ต้องระบุ ความเร็วในการดาวน์โหลดของเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที  | 
  
สำเร็จ: networkUploadSpeedMbps
| ช่อง | ประเภท | คำอธิบาย | 
|---|---|---|
followUpToken | 
    String | 
       ต้องระบุ โทเค็นที่ระบุในคำขอ EXECUTE ต้นฉบับ  | 
  
status | 
    String | 
       ต้องระบุ ผลลัพธ์ของคำขอ ค่าที่รองรับ 
  | 
  
networkUploadSpeedMbps | 
    Number | 
       ต้องระบุ ความเร็วในการอัปโหลดของเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที  | 
  
สำเร็จ: networkDownloadSpeedMbps และ networkUploadSpeedMbps
| ช่อง | ประเภท | คำอธิบาย | 
|---|---|---|
followUpToken | 
    String | 
       ต้องระบุ โทเค็นที่ระบุในคำขอ EXECUTE ต้นฉบับ  | 
  
status | 
    String | 
       ต้องระบุ ผลลัพธ์ของคำขอ ค่าที่รองรับ 
  | 
  
networkDownloadSpeedMbps | 
    Number | 
       ต้องระบุ ความเร็วในการดาวน์โหลดของเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที  | 
  
networkUploadSpeedMbps | 
    Number | 
       ต้องระบุ ความเร็วในการอัปโหลดของเครือข่ายที่วัดเป็นเมกะบิตต่อวินาที  | 
  
ล้มเหลว
| ช่อง | ประเภท | คำอธิบาย | 
|---|---|---|
followUpToken | 
    String | 
       ต้องระบุ โทเค็นที่ระบุในคำขอ EXECUTE ต้นฉบับ  | 
  
status | 
    String | 
       ต้องระบุ ผลลัพธ์ของคำขอ ค่าที่รองรับ 
  | 
  
errorCode | 
    String | 
       ต้องระบุ ค่าอาจเป็นรหัสข้อผิดพลาดใดก็ได้สำหรับลักษณะนี้ เช่น   | 
  
ตัวอย่าง
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