สคีมาลักษณะของ 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 (จำนวนวินาทีนับตั้งแต่ Unix Epoch) ของการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุด |
status |
String |
ระบุว่าการทดสอบความเร็วในการดาวน์โหลดของเครือข่ายครั้งล่าสุดสำเร็จหรือไม่สำเร็จ ค่าที่รองรับ
|
lastNetworkUploadSpeedTest |
ออบเจ็กต์ |
มีผลการทดสอบความเร็วในการอัปโหลดของเครือข่ายครั้งล่าสุด |
uploadSpeedMbps |
Number |
ความเร็วในการอัปโหลดเป็น Mbps (เมกะบิตต่อวินาที) ของการทดสอบความเร็วเครือข่ายครั้งล่าสุด |
unixTimestampSec |
จำนวนเต็ม |
การประทับเวลา Unix (จำนวนวินาทีนับตั้งแต่ Unix Epoch) ของการทดสอบความเร็วในการอัปโหลดเครือข่ายครั้งล่าสุด |
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 แล้ว
{ "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