স্মার্ট হোম ভলিউম ট্রেইট স্কিমা

action.devices.traits.Volume - এই ট্রেইটটি সেইসব ডিভাইসের ক্ষেত্রে প্রযোজ্য যেগুলো ভলিউম পরিবর্তন করতে পারে (যেমন, ভলিউম একটি নির্দিষ্ট স্তরে সেট করা, মিউট বা আনমিউট করা)।

ডিভাইসের বৈশিষ্ট্য

এই বৈশিষ্ট্যযুক্ত ডিভাইসগুলি SYNC অপারেশনের অংশ হিসাবে নিম্নলিখিত অ্যাট্রিবিউটগুলি রিপোর্ট করতে পারে। SYNC ইনটেন্ট পরিচালনা সম্পর্কে আরও জানতে, ইনটেন্ট ফুলফিলমেন্ট দেখুন।

বৈশিষ্ট্য প্রকার বর্ণনা
volumeMaxLevel পূর্ণসংখ্যা

প্রয়োজনীয়।

সর্বোচ্চ ভলিউম লেভেল, যেখানে বেসলাইন ০ (মিউট) ধরা হয়েছে। অ্যাসিস্ট্যান্ট সেই অনুযায়ী ক্রিয়াবিশেষণীয় কমান্ডগুলো (যেমন 'টিভির ভলিউম আরেকটু বাড়াও') সমন্বয় করবে।

volumeCanMuteAndUnmute বুলিয়ান

প্রয়োজনীয়।

ডিভাইসটি ভলিউম মিউট এবং আনমিউট করতে পারে কিনা তা নির্দেশ করে। মিউট একটি আলাদা অপশন, কারণ 'মিউট' করলে ভলিউম ০-তে নেমে আসে এবং আগের ভলিউম মনে রাখে, ফলে আনমিউট করলে তা আগের অবস্থায় ফিরে আসে। এটি ভলিউমের অবস্থায় প্রতিফলিত হয়—যদি ভলিউম ৫ থাকে এবং ব্যবহারকারী মিউট করেন, তাহলে ভলিউম ৫-ই থাকে এবং isMuted অপশনটি 'true' হয়।

volumeDefaultPercentage পূর্ণসংখ্যা

(পূর্বনির্ধারিত মান: 40 )

ব্যবহারকারী বা প্রস্তুতকারক কর্তৃক নির্ধারিত ডিফল্ট ভলিউমের পরিমাণ (শতাংশে)। স্কেলটি অবশ্যই ০-১০০ হতে হবে।

মান অবশ্যই 0 থেকে 100 মধ্যে হতে হবে।

levelStepSize পূর্ণসংখ্যা

(ডিফল্ট: 1 )

'volume up on <device_name>'-এর মতো আপেক্ষিক ভলিউম কোয়েরিগুলির জন্য ডিফল্ট স্টেপ সাইজ।

commandOnlyVolume বুলিয়ান

(ডিফল্ট: false )

ডিভাইসটি একমুখী (ট্রু) নাকি দ্বিমুখী (ফলস) যোগাযোগ ব্যবহার করে কাজ করে, তা নির্দেশ করে। উদাহরণস্বরূপ, যদি কন্ট্রোলার অনুরোধ পাঠানোর পর ডিভাইসের নতুন অবস্থা নিশ্চিত করতে পারে, তাহলে এই ফিল্ডটি ফলস হবে। যদি অনুরোধটি সফলভাবে সম্পন্ন হয়েছে কিনা তা নিশ্চিত করা বা ডিভাইসের অবস্থা জানা সম্ভব না হয় (উদাহরণস্বরূপ, যদি ডিভাইসটি একটি প্রচলিত ইনফ্রারেড রিমোট হয়), তাহলে এই ফিল্ডটি ট্রু সেট করুন।

উদাহরণ

স্পিকার ডিভাইস যা মিউট করা যায় এবং বর্তমান অবস্থা জানায়

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

ডিভাইসের অবস্থা

এই বৈশিষ্ট্যযুক্ত সত্তাগুলো QUERY অপারেশনের অংশ হিসেবে নিম্নলিখিত অবস্থাগুলো রিপোর্ট করতে পারে। QUERY ইনটেন্ট পরিচালনা সম্পর্কে আরও জানতে, ইনটেন্ট ফুলফিলমেন্ট দেখুন।

রাজ্যগুলি প্রকার বর্ণনা
currentVolume পূর্ণসংখ্যা

প্রয়োজনীয়।

বর্তমান ভলিউম শতাংশ। এটি অবশ্যই >0 এবং volumeMaxLevel মধ্যে হতে হবে।

সর্বনিম্ন মান: 0

isMuted বুলিয়ান

volumeCanMuteAndUnmute অ্যাট্রিবিউটটি true সেট করা থাকলে এটি আবশ্যক। ডিভাইসটি মিউট করা থাকলে এটি true হবে; অন্যথায় false। যদি isMuted true হয়, ডিভাইসটি তবুও মনে রাখা পয়েন্টের জন্য currentVolume রিটার্ন করবে।

উদাহরণ

স্পিকার ডিভাইস যা মিউট করা যায় এবং বর্তমান অবস্থা জানায়

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

ডিভাইস কমান্ড

এই বৈশিষ্ট্যযুক্ত ডিভাইসগুলি EXECUTE অপারেশনের অংশ হিসাবে নিম্নলিখিত কমান্ডগুলিতে সাড়া দিতে পারে। EXECUTE ইনটেন্ট পরিচালনা সম্পর্কে আরও জানতে, ইনটেন্ট ফুলফিলমেন্ট দেখুন।

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

volumeMaxLevel উপর ভিত্তি করে ভলিউম n ধাপে বাড়ান বা কমান। যে কমান্ডগুলো আপেক্ষিক স্কেল ব্যবহার করে, সেগুলোর ক্ষেত্রে অ্যাসিস্ট্যান্ট উপলব্ধ ধাপগুলোর সাথে সামঞ্জস্য রেখে n-কে যথাযথভাবে নির্বাচন করবে। উদাহরণস্বরূপ, 'টিভিকে অনেক বেশি জোরে করুন' কমান্ডটি 'টিভিকে সামান্য জোরে করুন' কমান্ডের চেয়ে বেশি সংখ্যক ধাপ সেট করবে।

প্যারামিটার

প্যারামিটার প্রকার বর্ণনা
relativeSteps পূর্ণসংখ্যা

প্রয়োজনীয়।

'হ্রাস'-এর জন্য নেতিবাচক।

উদাহরণ

শুধুমাত্র কমান্ড মোডে স্পিকার ডিভাইসের আপেক্ষিক ভলিউম সেট করুন

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

ডিভাইসের ত্রুটি

ত্রুটি ও ব্যতিক্রমগুলির সম্পূর্ণ তালিকা দেখুন।
  • volumeAlreadyMax : ডিভাইসটি যখন ইতিমধ্যে সর্বোচ্চ ভলিউমে থাকে, তখন এটি VolumeUp কমান্ড গ্রহণ করে।
  • volumeAlreadyMin : ডিভাইসটি যখন ইতিমধ্যে সর্বনিম্ন ভলিউমে থাকে, তখন এটি VolumeDown কমান্ড গ্রহণ করে।