สคีมา SmartControl Network สําหรับบ้านอัจฉริยะ

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

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

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

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

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

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

supportsDisablingGuestNetwork บูลีน

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

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

supportsGettingGuestNetworkPassword บูลีน

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

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

networkProfiles อาร์เรย์

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

[item, ...] String

ชื่อของโปรไฟล์เครือข่ายซึ่งเป็นตัวแทนของกลุ่มอุปกรณ์ที่เกี่ยวข้อง

supportsEnablingNetworkProfile บูลีน

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

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

supportsDisablingNetworkProfile บูลีน

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

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

supportsNetworkDownloadSpeedTest บูลีน

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

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

supportsNetworkUploadSpeedTest บูลีน

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

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

ตัวอย่าง

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

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

อุปกรณ์ STATES

เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดําเนินการ 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
}

อุปกรณ์ที่ปิดใช้ "โปรไฟล์" เครือข่ายโปรไฟล์

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

อุปกรณ์ COMMANDS

อุปกรณ์ที่มีลักษณะเฉพาะนี้อาจตอบสนองต่อคําสั่งต่อไปนี้ในฐานะส่วนหนึ่งของการดําเนินการ 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"
    }
  }
}

อุปกรณ์ ERRORS

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

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

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

networkProfileNotRecognized

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

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

networkSpeedTestInProgress