สคีมาลักษณะการทำงานด้านระดับเสียงของอุปกรณ์สมาร์ทโฮม

action.devices.traits.Volume - ลักษณะการทำงานนี้เป็นของอุปกรณ์ที่สามารถเปลี่ยนระดับเสียงได้ (เช่น การตั้งระดับเสียงเป็นระดับหนึ่ง การปิดเสียง หรือการเปิดเสียง)

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

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

Attributes ประเภท คำอธิบาย
volumeMaxLevel จำนวนเต็ม

ต้องระบุ

ระดับเสียงสูงสุด โดยอิงตามระดับเสียงพื้นฐานที่ 0 (ปิดเสียง) Assistant จะปรับคำวิเศษณ์ (เช่น "เพิ่มเสียงทีวีอีกหน่อย") ตามความเหมาะสม

volumeCanMuteAndUnmute บูลีน

ต้องระบุ

ระบุว่าอุปกรณ์ปิดและเปิดเสียงได้หรือไม่ การปิดเสียงเป็นตัวเลือกแยกต่างหาก เนื่องจากลักษณะการทำงาน "ปิดเสียง" จะตั้งระดับเสียงเป็น 0 พร้อมกับจดจำระดับเสียงก่อนหน้าไว้ เพื่อให้การเปิดเสียงกลับมาเป็นระดับเสียงเดิม ซึ่งจะแสดงในสถานะระดับเสียง เช่น หากระดับเสียงเป็น 5 และผู้ใช้ปิดเสียง ระดับเสียงจะยังคงเป็น 5 และ isMuted จะเป็นจริง

volumeDefaultPercentage จำนวนเต็ม

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

ระดับเสียง (เป็นเปอร์เซ็นต์) สำหรับระดับเสียงเริ่มต้นที่ผู้ใช้หรือผู้ผลิตกำหนด ระดับต้องเป็น 0-100

ค่าต้องอยู่ระหว่าง 0 ถึง 100

levelStepSize จำนวนเต็ม

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

ขนาดขั้นตอนเริ่มต้นสำหรับการค้นหาระดับเสียงสัมพัทธ์ เช่น 'เพิ่มระดับเสียงใน <device_name>

commandOnlyVolume บูลีน

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

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

ตัวอย่าง

อุปกรณ์ลำโพงที่ปิดเสียงได้และรายงานสถานะปัจจุบัน

{
  "volumeMaxLevel": 11,
  "volumeCanMuteAndUnmute": true,
  "levelStepSize": 2,
  "commandOnlyVolume": false,
  "volumeDefaultPercentage": 6
}

สถานะของอุปกรณ์

เอนทิตีที่มีลักษณะการทำงานนี้อาจรายงานสถานะต่อไปนี้ เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่ การดำเนินการตาม Intent

สถานะ ประเภท คำอธิบาย
currentVolume จำนวนเต็ม

ต้องระบุ

ระดับเสียงปัจจุบันเป็นเปอร์เซ็นต์ ต้องอยู่ระหว่าง >0 ถึง volumeMaxLevel

ค่าต่ำสุด: 0

isMuted บูลีน

ต้องระบุหากแอตทริบิวต์ volumeCanMuteAndUnmute ตั้งค่าเป็นจริง เป็นจริงหากอุปกรณ์ปิดเสียง และเป็นเท็จหากอุปกรณ์เปิดเสียง หาก isMuted เป็นจริง อุปกรณ์จะยังคงแสดง currentVolume สำหรับจุดที่จดจำไว้

ตัวอย่าง

อุปกรณ์ลำโพงที่ปิดเสียงได้และรายงานสถานะปัจจุบัน

{
  "currentVolume": 5,
  "isMuted": false
}

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

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

action.devices.commands.mute

ปิดหรือเปิดเสียงของอุปกรณ์

พารามิเตอร์

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

ต้องระบุ

ระบุว่าจะปิดเสียงหรือเปิดเสียงของอุปกรณ์

ตัวอย่าง

ปิดเสียงอุปกรณ์ลำโพง

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

action.devices.commands.setVolume

ตั้งระดับเสียงเป็นระดับที่ขอ โดยอิงตาม volumeMaxLevel

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
volumeLevel จำนวนเต็ม

ต้องระบุ

ระดับเสียงใหม่ ตั้งแต่ 0 ถึง volumeMaxLevel

ค่าต่ำสุด: 0

ตัวอย่าง

ตั้งระดับเสียงสัมบูรณ์ของอุปกรณ์ลำโพง

{
  "command": "action.devices.commands.setVolume",
  "params": {
    "volumeLevel": 6
  }
}

action.devices.commands.volumeRelative

ตั้งระดับเสียงขึ้นหรือลง n ขั้น โดยอิงตาม volumeMaxLevel สำหรับคำสั่งที่ใช้ระดับสัมพัทธ์ Assistant จะเลือก n อย่างเหมาะสมเพื่อปรับระดับเป็นขั้นที่มี เช่น เพิ่มเสียงทีวีอีกมาก จะตั้งค่าจำนวนขั้นที่สูงกว่า เพิ่มเสียงทีวีอีกนิดหน่อย

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
relativeSteps จำนวนเต็ม

ต้องระบุ

เป็นค่าลบสำหรับ "ลด"

ตัวอย่าง

ตั้งระดับเสียงสัมพัทธ์ของอุปกรณ์ลำโพงในโหมดคำสั่งเท่านั้น

{
  "command": "action.devices.commands.volumeRelative",
  "params": {
    "relativeSteps": -1
  }
}

ข้อผิดพลาดของอุปกรณ์

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด
  • volumeAlreadyMax: อุปกรณ์ได้รับคำสั่ง VolumeUp เมื่อระดับเสียงดังที่สุดอยู่แล้ว
  • volumeAlreadyMin: อุปกรณ์ได้รับคำสั่ง VolumeDown เมื่อระดับเสียงเบาที่สุดอยู่แล้ว