স্মার্ট হোম ডিসপেন্স ট্রিট স্কিমা
action.devices.traits.Dispense
- এই বৈশিষ্ট্যটি এমন ডিভাইসগুলির অন্তর্গত যা নির্দিষ্ট পরিমাণে এক বা একাধিক শারীরিক আইটেম বিতরণ করতে সহায়তা করে।
এই বৈশিষ্ট্যটি একটি প্রিসেট বিতরণকেও সমর্থন করে, উদাহরণস্বরূপ একটি পোষা খাবারের জন্য একটি "বিড়ালের খাবারের বাটি" বা একটি কলের জন্য একটি "গ্লাস"।
ডিভাইস বৈশিষ্ট্য
এই বৈশিষ্ট্য সহ ডিভাইসগুলি SYNC
অপারেশনের অংশ হিসাবে নিম্নলিখিত বৈশিষ্ট্যগুলি রিপোর্ট করতে পারে৷ SYNC
ইন্টেন্টগুলি পরিচালনা করার বিষয়ে আরও জানতে, ইন্টেন্ট পরিপূর্ণতা দেখুন।
গুণাবলী | টাইপ | বর্ণনা |
---|---|---|
supportedDispenseItems | অ্যারে | ডিভাইসটি বিতরণ করতে পারে এমন সমস্ত আইটেমের তথ্য রয়েছে৷ |
[ item, ... ] | অবজেক্ট | বিতরণযোগ্য আইটেম। |
item_name | স্ট্রিং | প্রয়োজন। বিতরণ করা আইটেমের অভ্যন্তরীণ নাম। এটি অ-ব্যবহারকারী-বান্ধব হতে পারে এবং সমস্ত ভাষা জুড়ে শেয়ার করা হয়৷ |
item_name_synonyms | অ্যারে | প্রয়োজন। প্রতিটি সমর্থিত ভাষায় বিতরণের জন্য সমার্থক নাম। |
[ item, ... ] | অবজেক্ট | একটি প্রদত্ত ভাষায় বিতরণ করা আইটেমের সমার্থক নাম। |
synonyms | অ্যারে | প্রয়োজন। বিতরণ করা আইটেমের সমার্থক নাম। যদি প্রযোজ্য হয় তাহলে সমার্থক শব্দের মধ্যে একবচন এবং বহুবচন উভয় রূপই অন্তর্ভুক্ত করা উচিত। এই তালিকার প্রথম স্ট্রিংটি অবশ্যই সেই ভাষার আইটেমের বহুবচন রূপ হতে হবে। |
[ item, ... ] | স্ট্রিং | সমার্থক নাম |
lang | স্ট্রিং | প্রয়োজন। ভাষার কোড (ISO 639-1)। সমর্থিত ভাষা দেখুন। |
supported_units | অ্যারে | প্রয়োজন। ডিভাইসটি সেই আইটেমটির জন্য সমর্থন করে এমন ইউনিটগুলির সেট৷ |
[ item, ... ] | স্ট্রিং | সমর্থিত ইউনিট। সমর্থিত মান:
|
default_portion | অবজেক্ট | প্রয়োজন। যে আইটেমটি বিতরণ করা হতে পারে তার সাধারণ পরিমাণ। |
amount | পূর্ণসংখ্যা | প্রয়োজন। বিতরণ করা পরিমাণ। |
unit | স্ট্রিং | প্রয়োজন। বিতরণ ইউনিট। |
supportedDispensePresets | অ্যারে | ডিভাইস দ্বারা সমর্থিত প্রিসেট. |
[ item, ... ] | অবজেক্ট | প্রিসেট |
preset_name | স্ট্রিং | প্রয়োজন। প্রিসেটের জন্য অভ্যন্তরীণ নাম। এই নামটি অ-ব্যবহারকারী-বান্ধব হতে পারে এবং সমস্ত ভাষা জুড়ে শেয়ার করা হয়৷ |
preset_name_synonyms | অ্যারে | প্রয়োজন। প্রতিটি সমর্থিত ভাষায় প্রিসেটের জন্য সমার্থক নাম। |
[ item, ... ] | অবজেক্ট | প্রদত্ত ভাষায় প্রিসেটের সমার্থক নাম। |
synonyms | অ্যারে | প্রয়োজন। প্রিসেটের জন্য সমার্থক নাম। যদি প্রযোজ্য হয় তাহলে সমার্থক শব্দে একবচন এবং বহুবচন উভয় রূপই অন্তর্ভুক্ত করা উচিত। |
[ item, ... ] | স্ট্রিং | সমার্থক নাম |
lang | স্ট্রিং | প্রয়োজন। ভাষার কোড (ISO 639-1)। সমর্থিত ভাষা দেখুন। |
উদাহরণ
জল সরবরাহকারী যা প্রিসেট সহ তরলগুলির জন্য ইউনিট সমর্থন করে।
{ "supportedDispenseItems": [ { "item_name": "Water", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Water" ] } ], "supported_units": [ "TEASPOONS", "TABLESPOONS", "FLUID_OUNCES", "CUPS", "PINTS", "QUARTS", "GALLONS", "MILLILITERS", "LITERS", "DECILITERS" ], "default_portion": { "amount": 2, "unit": "CUPS" } } ], "supportedDispensePresets": [ { "preset_name": "cat_bowl", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Cat water bowl", "Cat water dish", "Cat water cup" ] } ] }, { "preset_name": "glass_1", "preset_name_synonyms": [ { "lang": "en", "synonyms": [ "Glass of water", "Glass" ] } ] } ] }
প্রিসেট ছাড়া পোষা খাদ্য বিতরণকারী.
{ "supportedDispenseItems": [ { "item_name": "Treat", "item_name_synonyms": [ { "lang": "en", "synonyms": [ "Treats", "Dog treats", "Treat", "Dog treat" ] } ], "supported_units": [ "NO_UNITS" ], "default_portion": { "amount": 1, "unit": "NO_UNITS" } } ] }
ডিভাইস STATES
এই বৈশিষ্ট্য সহ সত্তাগুলি QUERY
অপারেশনের অংশ হিসাবে নিম্নলিখিত রাজ্যগুলির রিপোর্ট করতে পারে৷ QUERY
অভিপ্রায় পরিচালনার বিষয়ে আরও জানতে, অভিপ্রায় পূরণ দেখুন৷
রাজ্যগুলি | টাইপ | বর্ণনা |
---|---|---|
dispenseItems | অ্যারে | ডিভাইসটি বিতরণ করতে পারে এমন আইটেমগুলির অবস্থা। |
[ item, ... ] | অবজেক্ট | প্রদত্ত আইটেমের অবস্থা। |
itemName | স্ট্রিং | |
amountRemaining | অবজেক্ট | ডিভাইসে থাকা আইটেমের পরিমাণ। ডিভাইসটি বর্তমানে বিতরণ করা হলে, এটি অবশিষ্ট পরিমাণ বা ডিভাইসটি বিতরণ শেষ হলে কত পরিমাণ হবে তা রিপোর্ট করে। |
amount | সংখ্যা | অবশিষ্ট পরিমাণ |
unit | স্ট্রিং | |
amountLastDispensed | অবজেক্ট | সেই আইটেমের পরিমাণ যা ডিভাইসটি সম্প্রতি বিতরণ করেছে৷ ডিভাইসটি বর্তমানে বিতরণ করা হলে, এটি বর্তমান বিতরণের পরিমাণের আগে এটি বিতরণ করা পরিমাণের প্রতিবেদন করা উচিত। |
amount | সংখ্যা | অবশিষ্ট পরিমাণ |
unit | স্ট্রিং | |
isCurrentlyDispensing | বুলিয়ান | ডিভাইসটি বর্তমানে এই আইটেমটি বিতরণ করছে কিনা তা নির্দেশ করে৷ |
উদাহরণ
আমার ডিসপেনসারে কতগুলো কুকুরের ট্রিট বাকি আছে?
{ "dispenseItems": [ { "itemName": "Dog treats", "amountRemaining": { "amount": 83, "unit": "NO_UNITS" }, "amountLastDispensed": { "amount": 2, "unit": "NO_UNITS" }, "isCurrentlyDispensing": false } ] }
আমার ওয়াটার কুলারে কত পানি অবশিষ্ট আছে?
{ "dispenseItems": [ { "itemName": "Water", "amountRemaining": { "amount": 6.2, "unit": "GALLONS" }, "amountLastDispensed": { "amount": 1, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] }
আমি আগে কত বিড়াল খাবার দিয়েছিলাম?
{ "dispenseItems": [ { "itemName": "cat_food", "amountRemaining": { "amount": 16.5, "unit": "CUPS" }, "amountLastDispensed": { "amount": 2.5, "unit": "CUPS" }, "isCurrentlyDispensing": false } ] }
কল কি এখনও জল বিতরণ করছে?
{ "dispenseItems": [ { "itemName": "Water", "isCurrentlyDispensing": true } ] }
পরিমাপের একটি ইউনিট ব্যবহার করে amountRemaining
এবং amountLastDispensed
শুধুমাত্র রিপোর্ট করা প্রয়োজন।
একাধিক আইটেম dispenseItems
অ্যারের মধ্যে প্রদান করা যেতে পারে. প্রতিটি আইটেমের নাম অবশ্যই অনন্য হতে হবে এবং supportedDispenseItems
অ্যাট্রিবিউটের একটি আইটেমের সাথে সঙ্গতিপূর্ণ হতে হবে।
ডিভাইস কমান্ড
এই বৈশিষ্ট্য সহ ডিভাইসগুলি EXECUTE
অপারেশনের অংশ হিসাবে নিম্নলিখিত কমান্ডগুলিতে সাড়া দিতে পারে। EXECUTE
intents হ্যান্ডলিং সম্পর্কে আরও জানতে, Intent completement দেখুন।
action.devices.commands.Dispense
আইটেম বিতরণ.
পরামিতি
পেলোডে নিম্নলিখিতগুলির মধ্যে একটি রয়েছে:
পরিমাণ দ্বারা বিতরণ.
পরামিতি | টাইপ | বর্ণনা |
---|---|---|
item | স্ট্রিং | |
amount | সংখ্যা | প্রয়োজন। বিতরণ করার পরিমাণ। |
unit | স্ট্রিং | প্রয়োজন। |
প্রিসেট দ্বারা বিতরণ.
পরামিতি | টাইপ | বর্ণনা |
---|---|---|
presetName | স্ট্রিং | প্রয়োজন। |
পরামিতি ছাড়া বিতরণ.
পরামিতি | টাইপ | বর্ণনা |
---|---|---|
কোনো বৈশিষ্ট্য নেই |
উদাহরণ
আমাকে 1 কাপ জল দিন।
{ "command": "action.devices.commands.Dispense", "params": { "amount": 1, "unit": "CUPS", "item": "Water" } }
বিড়ালের জলের বাটিটি পূরণ করুন।
{ "command": "action.devices.commands.Dispense", "params": { "presetName": "cat_bowl" } }
জল বিতরণ.
{ "command": "action.devices.commands.Dispense", "params": {} }
ডিভাইসের ত্রুটি৷
ত্রুটি এবং ব্যতিক্রমগুলির সম্পূর্ণ তালিকা দেখুন।-
dispenseAmountRemainingExceeded
: ব্যবহারকারী এমন একটি ডিভাইস থেকে একটি আইটেম বা পরিমাণ বিতরণ করার চেষ্টা করেছেন যার পর্যাপ্ত পরিমাণ অবশিষ্ট নেই। -
dispenseAmountAboveLimit
: ব্যবহারকারী একটি একক প্রশ্নে যা চাইতে পারে তার সীমার বাইরে একটি পরিমাণ বিতরণ করার চেষ্টা করেছে। এটি দুর্ঘটনাক্রমে একটি অতিরিক্ত পরিমাণ (উদাহরণস্বরূপ, 500,000 কাপ জল) বিতরণ প্রতিরোধ করার জন্য। -
dispenseAmountBelowLimit
: ব্যবহারকারী ডিভাইস থেকে একটি আইটেম বা পরিমাণ বিতরণ করার চেষ্টা করেছেন যে ডিভাইসটি এটি বিতরণ করতে পারে এমন ন্যূনতম পরিমাণের নীচে। -
dispenseFractionalAmountNotSupported
: ব্যবহারকারী এমন একটি আইটেমের ভগ্নাংশ পরিমাণ বিতরণ করার চেষ্টা করেছেন যা ডিভাইসটি বিভক্ত করতে পারে না (উদাহরণস্বরূপ, কুকুরের আচরণের মতো গণনাযোগ্য আইটেমগুলি ডিভাইস দ্বারা বিভাজ্য নাও হতে পারে)। -
genericDispenseNotSupported
: ব্যবহারকারী একটি আইটেম বা প্রিসেট উল্লেখ না করে একটি ডিভাইস থেকে বিতরণ করার চেষ্টা করে, কিন্তু ডিভাইসটি এই ধরনের কার্যকারিতা সমর্থন করে না (উদাহরণস্বরূপ, একটি ডিফল্ট ডিসপেন্স অ্যাকশন)। -
dispenseUnitNotSupported
: ব্যবহারকারী সেই ক্ষেত্রে সমর্থিত নয় এমন একটি ইউনিট সহ ডিভাইস থেকে বিতরণ করার চেষ্টা করে (উদাহরণস্বরূপ, আইটেমটি সরবরাহ করা হয়নি তাইsupported_unit validation
বাদ দেওয়া হয়েছিল)। -
dispenseFractionalUnitNotSupported
: ব্যবহারকারী একটি আইটেমের ভগ্নাংশ পরিমাণ বিতরণ করার চেষ্টা করেছেন যা বিভক্ত করা যেতে পারে তবে নির্দিষ্ট ইউনিটের জন্য নয় (উদাহরণস্বরূপ, একটি কল 2.7 কাপ বিতরণ করতে সক্ষম হতে পারে কিন্তু 2.7 মিলি নয়)। -
deviceCurrentlyDispensing
: ব্যবহারকারীরা একটি আইটেম বিতরণ করার চেষ্টা করে কিন্তু ডিভাইসটি ইতিমধ্যেই বিতরণ করছে৷ -
deviceClogged
: ব্যবহারকারীরা একটি আইটেম বিতরণ করার চেষ্টা করে কিন্তু ডিভাইসটি আটকে থাকে। -
deviceBusy
: ব্যবহারকারীরা একটি আইটেম বিতরণ করার চেষ্টা করে কিন্তু ডিভাইসটি ব্যস্ত (জেনেরিক)।
ডিভাইসের ব্যতিক্রম
এই ব্যতিক্রমগুলি আপনার প্রতিক্রিয়ার states
অবজেক্টে একটি exceptionCode
হিসাবে রিপোর্ট করা যেতে পারে:
-
amountRemainingLow
- ব্যবহারকারী ডিভাইস থেকে একটি আইটেম বা পরিমাণ বিতরণ করে যা অবশিষ্ট পরিমাণকে নিম্ন স্তরে নিয়ে আসে। আপনি একটি "নিম্ন" স্তর গঠন কি সংজ্ঞায়িত করার জন্য দায়ী. -
userNeedsToWait
- যখন ব্যবহারকারীকে অনুরোধ করা আইটেম বা পরিমাণ সফলভাবে বিতরণ করার আগে অপেক্ষা করতে হয় (উদাহরণস্বরূপ, একটি কল গরম জল সরবরাহ করবে তবে ব্যবহারকারীকে বিতরণ শুরু করার আগে জল গরম হওয়ার জন্য অপেক্ষা করতে হবে)।