ยินดีต้อนรับสู่ Google Home Developer Center แหล่งใหม่เรียนรู้วิธีพัฒนาการดําเนินการในบ้านอัจฉริยะ หมายเหตุ: คุณจะสร้างการดําเนินการต่างๆ ต่อไปในคอนโซลการดําเนินการ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

สคีมาเทรด Smart Home NetworkControl

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

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

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

แอตทริบิวต์ ประเภท คำอธิบาย
supportsEnablingGuestNetwork บูลีน

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

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

supportsDisablingGuestNetwork บูลีน

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

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

supportsGettingGuestNetworkPassword บูลีน

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

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

networkProfiles อาร์เรย์

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

[item, ...] สตริง

ชื่อของโปรไฟล์เครือข่ายที่แสดงถึงกลุ่มอุปกรณ์ที่เกี่ยวข้อง

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 ได้ที่การดําเนินการตามความตั้งใจ

รัฐ ประเภท คำอธิบาย
networkEnabled บูลีน

เปิดใช้เครือข่ายหลักหรือไม่

networkSettings วัตถุ

มี SSID ของเครือข่ายหลัก

ssid สตริง

ต้องระบุ

SSID เครือข่าย

guestNetworkEnabled บูลีน

เปิดใช้เครือข่ายผู้มาเยือนหรือไม่

guestNetworkSettings วัตถุ

มี SSID ของเครือข่ายผู้มาเยือน

ssid สตริง

ต้องระบุ

SSID เครือข่าย

numConnectedDevices จำนวนเต็ม

จํานวนอุปกรณ์ที่เชื่อมต่อกับเครือข่ายอยู่

networkUsageMB Number

การใช้งานเครือข่ายเป็น MB (เมกะไบต์) การใช้งานเครือข่ายภายในระยะเวลาที่เรียกเก็บเงินปัจจุบัน ซึ่งอาจเป็นประโยชน์สําหรับการตรวจสอบตามขีดจํากัดการใช้งานเครือข่ายช่วงเวลาที่เรียกเก็บเงิน

networkUsageLimitMB Number

ขีดจํากัดการใช้งานเครือข่ายเป็น MB (เมกะไบต์) ขีดจํากัดการใช้งานเครือข่ายอยู่ภายในระยะเวลาที่เรียกเก็บเงินปัจจุบัน

networkUsageUnlimited บูลีน

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

lastNetworkDownloadSpeedTest วัตถุ

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

downloadSpeedMbps Number

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

unixTimestampSec จำนวนเต็ม

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

status สตริง

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

ค่าที่รองรับมีดังต่อไปนี้

SUCCESS
FAILURE
lastNetworkUploadSpeedTest วัตถุ

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

uploadSpeedMbps Number

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

unixTimestampSec จำนวนเต็ม

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

status สตริง

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

ค่าที่รองรับมีดังต่อไปนี้

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
    }
  }
}

คําสั่งของอุปกรณ์

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

action.devices.commands.EnableDisableGuestNetwork

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

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

พารามิเตอร์

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

ต้องระบุ

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

ตัวอย่าง

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

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

action.devices.commands.EnableDisableNetworkProfile

เปิดหรือปิดใช้โปรไฟล์เครือข่าย

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

พารามิเตอร์

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

ต้องระบุ

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

enable บูลีน

ต้องระบุ

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

ตัวอย่าง

ปิดอินเทอร์เน็ตสําหรับเด็ก

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "kids",
    "enable": false
  }
}

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

ค่าที่รองรับมีดังต่อไปนี้

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

รับรหัสผ่านเครือข่ายสําหรับผู้มาเยือน

คําสั่งนี้ต้องใช้แอตทริบิวต์ต่อไปนี้
{
  "supportsGettingGuestNetworkPassword": true
}

พารามิเตอร์

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

ไม่มีพร็อพเพอร์ตี้

ตัวอย่าง

แสดงรหัสผ่าน Wi-Fi สําหรับผู้มาเยือน

{
  "command": "action.devices.commands.GetGuestNetworkPassword",
  "params": {}
}

ผลลัพธ์

ผลลัพธ์ ประเภท คำอธิบาย
guestNetworkPassword สตริง

ต้องระบุ

รหัสผ่านสําหรับเครือข่ายสําหรับผู้มาเยือน

ตัวอย่าง

แสดงรหัสผ่าน Wi-Fi สําหรับผู้มาเยือน

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

ทดสอบความเร็วในการดาวน์โหลดและอัปโหลดของเครือข่าย

คําสั่งนี้ต้องใช้แอตทริบิวต์ต่อไปนี้
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

พารามิเตอร์

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

ต้องระบุ

ระบุว่าควรทดสอบความเร็วในการดาวน์โหลดหรือไม่

testUploadSpeed บูลีน

ต้องระบุ

ระบุว่าควรทดสอบความเร็วในการอัปโหลดหรือไม่

followUpToken สตริง

ต้องระบุ

โทเค็นที่ Google มีให้สําหรับการตอบกลับติดตามผล

ตัวอย่าง

Wi-Fi มีความเร็วเท่าใด

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

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

ค่าที่รองรับมีดังต่อไปนี้

networkSpeedTestInProgress

การตอบกลับติดตามผล

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

เพย์โหลดมีองค์ประกอบอย่างใดอย่างหนึ่งต่อไปนี้

สําเร็จ: networkDownloadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken สตริง

ต้องระบุ

โทเค็นที่ระบุในคําขอ EXECUTE เดิม

status สตริง

ต้องระบุ

ผลลัพธ์ของคําขอ

ค่าที่รองรับมีดังต่อไปนี้

SUCCESS
networkDownloadSpeedMbps Number

ต้องระบุ

ความเร็วในการดาวน์โหลดของเครือข่ายซึ่งวัดเป็นหน่วยเมกะบิตต่อวินาที

สําเร็จ: networkUploadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken สตริง

ต้องระบุ

โทเค็นที่ระบุในคําขอ EXECUTE เดิม

status สตริง

ต้องระบุ

ผลลัพธ์ของคําขอ

ค่าที่รองรับมีดังต่อไปนี้

SUCCESS
networkUploadSpeedMbps Number

ต้องระบุ

ความเร็วในการอัปโหลดของเครือข่ายซึ่งวัดเป็นหน่วยเมกะบิตต่อวินาที

สําเร็จ: networkDownloadSpeedMbps และ networkUploadSpeedMbps

ช่อง ประเภท คำอธิบาย
followUpToken สตริง

ต้องระบุ

โทเค็นที่ระบุในคําขอ EXECUTE เดิม

status สตริง

ต้องระบุ

ผลลัพธ์ของคําขอ

ค่าที่รองรับมีดังต่อไปนี้

SUCCESS
networkDownloadSpeedMbps Number

ต้องระบุ

ความเร็วในการดาวน์โหลดของเครือข่ายซึ่งวัดเป็นหน่วยเมกะบิตต่อวินาที

networkUploadSpeedMbps Number

ต้องระบุ

ความเร็วในการอัปโหลดของเครือข่ายซึ่งวัดเป็นหน่วยเมกะบิตต่อวินาที

ล้มเหลว

ช่อง ประเภท คำอธิบาย
followUpToken สตริง

ต้องระบุ

โทเค็นที่ระบุในคําขอ EXECUTE เดิม

status สตริง

ต้องระบุ

ผลลัพธ์ของคําขอ

ค่าที่รองรับมีดังต่อไปนี้

FAILURE
errorCode สตริง

ต้องระบุ

ค่านี้อาจเป็นรหัสข้อผิดพลาดสําหรับลักษณะนี้ เช่น 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