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

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

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

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

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

ต้องระบุ

ระดับเสียงสูงสุด โดยใช้เกณฑ์พื้นฐานเป็น 0 (ปิดเสียง) Assistant จะปรับคำสั่งที่เป็นคำกริยา (เช่น "ทำให้ทีวีดังขึ้นเล็กน้อย") ให้สอดคล้องกัน

volumeCanMuteAndUnmute บูลีน

ต้องระบุ

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

volumeDefaultPercentage จำนวนเต็ม

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

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

levelStepSize จำนวนเต็ม

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

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

commandOnlyVolume บูลีน

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

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

ตัวอย่าง

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

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

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

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

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

ต้องระบุ

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

isMuted บูลีน

ต้องระบุหากตั้งค่าแอตทริบิวต์ volumeCanMuteAndUnmute เป็น "true" จริงหากอุปกรณ์ปิดเสียงอยู่ หรือเป็นเท็จ หาก 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

ตัวอย่าง

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

{
  "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 เมื่อระดับเสียงต่ำสุดอยู่แล้ว