স্মার্ট হোম ডিসপেন্স ট্রিট স্কিমা

action.devices.traits.Dispense - এই বৈশিষ্ট্যটি এমন ডিভাইসগুলির অন্তর্গত যা নির্দিষ্ট পরিমাণে এক বা একাধিক শারীরিক আইটেম বিতরণ করতে সহায়তা করে।

এই বৈশিষ্ট্যটি একটি প্রিসেট বিতরণকেও সমর্থন করে, উদাহরণস্বরূপ একটি পোষা খাবারের জন্য একটি "বিড়ালের খাবারের বাটি" বা একটি কলের জন্য একটি "গ্লাস"।

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

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

গুণাবলী টাইপ বর্ণনা
supportedDispenseItems অ্যারে

ডিভাইসটি বিতরণ করতে পারে এমন সমস্ত আইটেমের তথ্য রয়েছে৷

[ item, ... ] অবজেক্ট

বিতরণযোগ্য আইটেম।

item_name স্ট্রিং

প্রয়োজন।

বিতরণ করা আইটেমের অভ্যন্তরীণ নাম। এটি অ-ব্যবহারকারী-বান্ধব হতে পারে এবং সমস্ত ভাষা জুড়ে শেয়ার করা হয়৷

item_name_synonyms অ্যারে

প্রয়োজন।

প্রতিটি সমর্থিত ভাষায় বিতরণের জন্য সমার্থক নাম।

[ item, ... ] অবজেক্ট

একটি প্রদত্ত ভাষায় বিতরণ করা আইটেমের সমার্থক নাম।

synonyms অ্যারে

প্রয়োজন।

বিতরণ করা আইটেমের সমার্থক নাম। যদি প্রযোজ্য হয় তাহলে সমার্থক শব্দের মধ্যে একবচন এবং বহুবচন উভয় রূপই অন্তর্ভুক্ত করা উচিত। এই তালিকার প্রথম স্ট্রিংটি অবশ্যই সেই ভাষার আইটেমের বহুবচন রূপ হতে হবে।

[ item, ... ] স্ট্রিং

সমার্থক নাম

lang স্ট্রিং

প্রয়োজন।

ভাষার কোড (ISO 639-1)। সমর্থিত ভাষা দেখুন।

supported_units অ্যারে

প্রয়োজন।

ডিভাইসটি সেই আইটেমটির জন্য সমর্থন করে এমন ইউনিটগুলির সেট৷

[ item, ... ] স্ট্রিং

সমর্থিত ইউনিট।

সমর্থিত মান:

CENTIMETERS
CUPS
DECILITERS
FLUID_OUNCES
GALLONS
GRAMS
KILOGRAMS
LITERS
MILLIGRAMS
MILLILITERS
MILLIMETERS
NO_UNITS
OUNCES
PINCH
PINTS
PORTION
POUNDS
QUARTS
TABLESPOONS
TEASPOONS
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 স্ট্রিং

item_name বৈশিষ্ট্য থেকে আইটেমের নাম।

amountRemaining অবজেক্ট

ডিভাইসে থাকা আইটেমের পরিমাণ। ডিভাইসটি বর্তমানে বিতরণ করা হলে, এটি অবশিষ্ট পরিমাণ বা ডিভাইসটি বিতরণ শেষ হলে কত পরিমাণ হবে তা রিপোর্ট করে।

amount সংখ্যা

অবশিষ্ট পরিমাণ

unit স্ট্রিং

supported_units অ্যাট্রিবিউট থেকে amount জন্য একক।

amountLastDispensed অবজেক্ট

সেই আইটেমের পরিমাণ যা ডিভাইসটি সম্প্রতি বিতরণ করেছে৷ ডিভাইসটি বর্তমানে বিতরণ করা হলে, এটি বর্তমান বিতরণের পরিমাণের আগে এটি বিতরণ করা পরিমাণের প্রতিবেদন করা উচিত।

amount সংখ্যা

অবশিষ্ট পরিমাণ

unit স্ট্রিং

supported_units অ্যাট্রিবিউট থেকে amount জন্য একক।

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 স্ট্রিং

item_name বৈশিষ্ট্য থেকে বিতরণ করা আইটেমের নাম।

amount সংখ্যা

প্রয়োজন।

বিতরণ করার পরিমাণ।

unit স্ট্রিং

প্রয়োজন।

supported_units অ্যাট্রিবিউট থেকে amount জন্য একক।

প্রিসেট দ্বারা বিতরণ.

পরামিতি টাইপ বর্ণনা
presetName স্ট্রিং

প্রয়োজন।

preset_name অ্যাট্রিবিউট থেকে বিতরণ করার জন্য প্রিসেটের নাম।

পরামিতি ছাড়া বিতরণ.

পরামিতি টাইপ বর্ণনা

কোনো বৈশিষ্ট্য নেই

উদাহরণ

আমাকে 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 - যখন ব্যবহারকারীকে অনুরোধ করা আইটেম বা পরিমাণ সফলভাবে বিতরণ করার আগে অপেক্ষা করতে হয় (উদাহরণস্বরূপ, একটি কল গরম জল সরবরাহ করবে তবে ব্যবহারকারীকে বিতরণ শুরু করার আগে জল গরম হওয়ার জন্য অপেক্ষা করতে হবে)।