ত্রুটি এবং ব্যতিক্রম

এই ডকুমেন্টে স্মার্ট হোম ডিভাইসের জন্য আনুষ্ঠানিকভাবে সমর্থিত ত্রুটি এবং ব্যতিক্রমগুলি তালিকাভুক্ত করা হয়েছে। অনুগ্রহ করে এই প্রদত্ত ত্রুটি এবং ব্যতিক্রম কোডগুলি ইনটেন্ট রেসপন্সে, অথবা যদি আপনি এটি বাস্তবায়ন করে থাকেন তবে বিজ্ঞপ্তিগুলিতে ব্যবহার করুন, যাতে Google Assistant একটি প্রদত্ত কমান্ড বা ডিভাইসের অবস্থা সম্পর্কিত সমস্যাগুলি সম্পর্কে শেষ ব্যবহারকারীদের সতর্ক করে। যদি প্রতিক্রিয়াটিতে ভুল ফর্ম্যাটিং বা errorCode থাকে, তাহলে Google Assistant ব্যবহারকারীদের একটি সাধারণ ত্রুটি বার্তা দেয়, উদাহরণস্বরূপ, "দুঃখিত, ডিভাইসটি এখন উপলব্ধ নয়"।

ত্রুটি

যখন কোনও সমস্যার কারণে কোনও এক্সিকিউট বা কোয়েরি রিকোয়েস্ট ব্যর্থ হয়, তখন আপনার একটি ত্রুটি কোড ফেরত পাঠানো উচিত। উদাহরণস্বরূপ, যদি কোনও দরজার তালা জ্যাম থাকে এবং লক বা আনলক করা না যায়, তাহলে এই অবস্থা সম্পর্কে একটি ত্রুটি ব্যবহারকারীকে ফেরত পাঠানো উচিত।

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

সংক্ষেপে:

  • গ্লোবাল-লেভেল ত্রুটি: প্রতিক্রিয়ার সমস্ত ডিভাইসে একই ত্রুটি রয়েছে
  • স্থানীয় স্তরের ত্রুটি: ত্রুটি এবং সাফল্যের ক্ষেত্রে মিশ্র প্রতিক্রিয়া

বিশ্বব্যাপী ত্রুটি

নিম্নলিখিত JSON স্নিপেটটি দেখায় যে আপনি কীভাবে QUERY অথবা EXECUTE প্রতিক্রিয়াতে বিশ্বব্যাপী-স্তরের ত্রুটিগুলি ফেরত দেন।

হাব অফলাইন থাকার কারণে deviceOffline গ্লোবাল-লেভেলের ত্রুটির একটি উদাহরণ:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "deviceOffline",
    "status" : "ERROR"
  }
}

হাবের কারণে inSoftwareUpdate বিশ্বব্যাপী ত্রুটির একটি উদাহরণ হল আপডেট করা:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "inSoftwareUpdate",
    "status" : "ERROR"
  }
}

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

QUERY এর উত্তর

নিম্নলিখিত JSON স্নিপেটটি দেখায় যে আপনি কীভাবে QUERY প্রতিক্রিয়াতে ডিভাইস-স্তরের ত্রুটিগুলি ফেরত দেন।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "device-id-1": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      },
      "device-id-2": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      }
    }
  }
}

প্রতিক্রিয়া কার্যকর করুন

নিম্নলিখিত JSON স্নিপেটটি দেখায় যে আপনি কীভাবে EXECUTE প্রতিক্রিয়াতে ডিভাইস-স্তরের ত্রুটিগুলি ফেরত দেন।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "device-id-1"
        ],
        "status": "ERROR",
        "errorCode": "deviceOffline"
      },
      {
        "ids": [
          "device-id-2"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      }
    ]
  }
}

ত্রুটিযুক্ত বিজ্ঞপ্তি

সক্রিয় বিজ্ঞপ্তি

নিম্নলিখিত JSON স্নিপেটটি দেখায় যে আপনি কীভাবে একটি প্রোঅ্যাকটিভ বিজ্ঞপ্তিতে ডিভাইস-স্তরের ত্রুটিগুলি রিপোর্ট করেন।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "agentUserId": "agent-user-id-1",
  "eventId": "unique-event-id-1",
  "payload": {
    "devices": {
      "notifications": {
        "device-id-1": {
          "RunCycle": {
            "priority": 0,
            "status": "FAILURE",
            "errorCode": "deviceDoorOpen"
          }
        }
      }
    }
  }
}

ফলো-আপ প্রতিক্রিয়া

নিম্নলিখিত JSON স্নিপেটটি দেখায় যে আপনি কীভাবে একটি ফলো-আপ প্রতিক্রিয়ায় ডিভাইস-স্তরের ত্রুটিগুলি রিপোর্ট করেন।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "agentUserId": "agent-user-id-1",
  "eventId": "unique-event-id-1",
  "payload": {
    "devices": {
      "notifications": {
        "device-id-1": {
          "LockUnlock": {
            "priority": 0,
            "followUpResponse": {
              "status": "FAILURE",
              "errorCode": "deviceJammingDetected",
              "followUpToken": "PLACEHOLDER"
            }
          }
        }
      }
    }
  }
}

ত্রুটি তালিকা

নিম্নলিখিত ত্রুটিগুলি ডিভাইসে সংশ্লিষ্ট TTS তৈরি করবে।

  • উপরেসর্বোচ্চআলোর প্রভাবসময়কাল : এটি সর্বোচ্চ ১ ঘন্টার বেশি সময়কাল। অনুগ্রহ করে আবার চেষ্টা করুন।
  • সর্বোচ্চ টাইমারের উপরে : আমি কেবল <সময়কাল> পর্যন্ত <ডিভাইস(গুলি)> সেট করতে পারি।
  • actionNotAvailable : দুঃখিত, আমি এখন এটা করতে পারছি না।
  • actionUnavailableWhileRunning : <device(s)> <is/are> বর্তমানে চলছে, তাই আমি কোনও পরিবর্তন করতে পারছি না।
  • alreadyArmed : <device(s)> <is/are> ইতিমধ্যেই সশস্ত্র।
  • alreadyAtMax : <device(s)> <is/are> ইতিমধ্যেই সর্বোচ্চ তাপমাত্রায় সেট করা আছে।
  • alreadyAtMin : <device(s)> <is/are> ইতিমধ্যেই সর্বনিম্ন তাপমাত্রায় সেট করা আছে।
  • ইতিমধ্যেই বন্ধ : <device(s)> <is/are> ইতিমধ্যেই বন্ধ।
  • alreadyDisarmed : <device(s)> <is/are> ইতিমধ্যেই নিরস্ত্র।
  • alreadyDocked : <device(s)> <is/are> ইতিমধ্যেই ডক করা আছে।
  • alreadyInState : <device(s)> <is/are> ইতিমধ্যেই সেই অবস্থায় আছে।
  • alreadyLocked : <device(s)> <is/are> ইতিমধ্যেই লক করা আছে।
  • alreadyOff : <device(s)> <is/are> ইতিমধ্যেই বন্ধ।
  • alreadyOn : <device(s)> <is/are> ইতিমধ্যেই চালু আছে।
  • alreadyOpen : <device(s)> <is/are> ইতিমধ্যেই খোলা আছে।
  • alreadyPaused : <device(s)> <is/are> ইতিমধ্যেই পজ করা হয়েছে।
  • alreadyStarted : <device(s)> <is/are> ইতিমধ্যেই শুরু হয়েছে।
  • alreadyStopped : <device(s)> <is/are> ইতিমধ্যেই বন্ধ।
  • alreadyUnlocked : <device(s)> <is/are> ইতিমধ্যেই আনলক করা আছে।
  • ambiguousZoneName : দুঃখিত, <device(s)> আপনি কোন জোনের কথা বলছেন তা শনাক্ত করতে পারছি না। অনুগ্রহ করে নিশ্চিত করুন যে আপনার জোনের নাম অনন্য এবং আবার চেষ্টা করুন।
  • amountAboveLimit : এটি <device(s)> যা সমর্থন করতে পারে তার চেয়েও বেশি।
  • appLaunchFailed : দুঃখিত, <device(s)> এ <app name> চালু করতে ব্যর্থ।
  • armFailure : <device(s)> সশস্ত্র করা যায়নি।
  • armLevelNeeded : আমি নিশ্চিত নই কোন লেভেলে সেট করব। "Set <device(s)> to <low security>" অথবা "Set <device(s)> to <high ​​security>" বলার চেষ্টা করুন।
  • authFailure : আমি <device(s)> এর সাথে যোগাযোগ করতে পারছি না। আপনার <device/devices> <is/are> সম্পূর্ণরূপে সেট আপ হয়েছে কিনা তা নিশ্চিত করতে অ্যাপটি পরীক্ষা করে দেখুন।
  • bagFull : <device(s)> <have/have> <a full bag/full bags>. অনুগ্রহ করে <it/them> খালি করে আবার চেষ্টা করুন।
  • নীচেসর্বনিম্নআলোর প্রভাবসময়কাল : এটি সর্বনিম্ন ৫ মিনিটের চেয়ে কম। অনুগ্রহ করে আবার চেষ্টা করুন।
  • নীচে <device(s)> এত কম সময়ের জন্য সেট করতে পারছি না। অনুগ্রহ করে আবার চেষ্টা করুন।
  • binFull : <device(s)> <have/have> <a full bin/full bins>.
  • cancelArmingRestricted : দুঃখিত, আমি অস্ত্রোপচার বাতিল করতে পারিনি <device(s)>।
  • cancelTooLate : দুঃখিত, বাতিল করতে অনেক দেরি হয়ে গেছে। <device(s)> অথবা অ্যাপ ব্যবহার করুন।
  • channelSwitchFailed : দুঃখিত, channel <channel name> এ স্যুইচ করতে ব্যর্থ। অনুগ্রহ করে পরে আবার চেষ্টা করুন।
  • chargerIssue : দুঃখিত, এটা দেখে মনে হচ্ছে <device(s)> <have/have> <a charger issues/charger issues>.
  • commandInsertFailed : <device(s)> এর জন্য কমান্ড প্রক্রিয়া করতে অক্ষম।
  • deadBattery : <device(s)> <have/have> <a dead battery/dead battery>.
  • degreesOutOfRange : অনুরোধকৃত ডিগ্রিগুলি <device(s)> এর জন্য সীমার বাইরে।
  • deviceAlertNeedsAssistance : <device(s)> <have/have> একটি সক্রিয় সতর্কতা আছে এবং আপনার সহায়তা প্রয়োজন।
  • deviceAtExtremeTemperature : <device(s)> <is/are> <an extreme temperature/extreme temperature> এ।
  • deviceBusy : দুঃখিত, মনে হচ্ছে <device(s)> ইতিমধ্যেই কিছু করছে।
  • deviceCharging : দুঃখিত, মনে হচ্ছে <device(s)> এটা করতে পারছে না কারণ (ha_shared.ItsTheyre size=$item.devices.total_device_count) চার্জ হচ্ছে।
  • deviceClogged : দুঃখিত, মনে হচ্ছে <device(s)> আটকে আছে।
  • deviceCurrentlyDispensing : <device(s)> ইতিমধ্যেই কিছু বিতরণ করছে।
  • deviceDoorOpen : <device(s)> এ দরজাটি খোলা আছে। অনুগ্রহ করে এটি বন্ধ করে আবার চেষ্টা করুন।
  • deviceHandleClosed : <device(s)> এ হ্যান্ডেলটি বন্ধ আছে। অনুগ্রহ করে এটি খুলুন এবং আবার চেষ্টা করুন।
  • deviceJammingDetected : <device(s)> <is/are> জ্যাম হয়ে গেছে।
  • deviceLidOpen : <device(s)> এর ঢাকনাটি খোলা আছে। অনুগ্রহ করে এটি বন্ধ করে আবার চেষ্টা করুন।
  • ডিভাইসের মেরামতের প্রয়োজন: <device(s)> মেরামত করতে হবে। অনুগ্রহ করে আপনার স্থানীয় পরিষেবা ডিলারের সাথে যোগাযোগ করুন।
  • deviceNotDocked : দুঃখিত, মনে হচ্ছে <device(s)> ডক করা আছে। অনুগ্রহ করে <it/them> ডক করে আবার চেষ্টা করুন।
  • deviceNotFound : <device(s)> <is/are> উপলব্ধ নেই। আপনি আবার <it/them> সেট আপ করার চেষ্টা করতে পারেন।
  • deviceNotMounted : দুঃখিত, মনে হচ্ছে <device(s)> এটা করতে পারছে না কারণ <it/they> <is/are> মাউন্ট করা হয়নি।
  • deviceNotReady : <device(s)> <is/are> প্রস্তুত নয়।
  • deviceStuck : <device(s)> <is/are> আটকে আছে এবং আপনার সাহায্যের প্রয়োজন।
  • deviceTampered : <device(s)> <has/have> এর সাথে কারচুপি করা হয়েছে।
  • deviceThermalShutdown : দুঃখিত, মনে হচ্ছে চরম তাপমাত্রার কারণে <device(s)> বন্ধ হয়ে গেছে।
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> রিমোট কন্ট্রোল সমর্থন করে।
  • নিরস্ত্রীকরণ ব্যর্থতা : <device(s)> নিরস্ত্র করা যায়নি।
  • discreteOnlyOpenClose : দুঃখিত, <device(s)> শুধুমাত্র সম্পূর্ণভাবে খোলা বা বন্ধ করা যাবে।
  • dispenseAmountAboveLimit : <device(s)> এত বড় পরিমাণে বিতরণ করতে পারে না।
  • dispenseAmountBelowLimit : <device(s)> এত কম পরিমাণে বিতরণ করতে পারে না।
  • dispenseAmountRemainingExceeded : <device(s)> এর কাছে এটি করার জন্য পর্যাপ্ত <dispense item> নেই।
  • dispenseFractionalAmountNotSupported : <device(s)> <dispense item> এর ভগ্নাংশ বিতরণ করতে পারে না।
  • dispenseFractionalUnitNotSupported : <device(s)> <dispense item> এর জন্য ঐ ইউনিটের ভগ্নাংশ সমর্থন করে না।
  • dispenseUnitNotSupported : <device(s)> <dispense item> এর জন্য ঐ ইউনিটটি সমর্থন করে না।
  • doorClosedTooLong : <device(s)> এর দরজাটি অনেক দিন ধরে খোলা হয়নি। দয়া করে দরজাটি খুলুন, ভিতরে কিছু আছে কিনা তা নিশ্চিত করুন এবং আবার চেষ্টা করুন।
  • emergencyHeatOn : <device(s)> <is/are> জরুরি তাপ মোডে আছে, তাই <it/they>'কে হাতে সমন্বয় করতে হবে।
  • ত্রুটিপূর্ণ ব্যাটারি : <ডিভাইস(গুলি)> <হয়েছে/আছে> <একটি ত্রুটিপূর্ণ ব্যাটারি/ত্রুটিপূর্ণ ব্যাটারি>.
  • floorUnreachable : <device(s)> সেই ঘরে পৌঁছানো যাচ্ছে না। অনুগ্রহ করে <it/them> ডান তলায় নিয়ে যান এবং আবার চেষ্টা করুন।
  • functionNotSupported : আসলে, <device(s)> <doesn't/don't> এই কার্যকারিতা সমর্থন করে।
  • genericDispenseNotSupported : আপনি কী বিতরণ করতে চান তা আমার জানা দরকার। অনুগ্রহ করে আইটেমটির নাম দিয়ে আবার চেষ্টা করুন।
  • হার্ডএরর : দুঃখিত, কিছু সমস্যা হয়েছে এবং আমি আপনার হোম ডিভাইসটি নিয়ন্ত্রণ করতে পারছি না।
  • হার্ডএরর : দুঃখিত, কিছু সমস্যা হয়েছে এবং আমি আপনার হোম ডিভাইসটি নিয়ন্ত্রণ করতে পারছি না।
  • inAutoMode : <device(s)> <is/are> বর্তমানে অটো মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inAwayMode : <device(s)> <is/are> বর্তমানে away মোডে সেট করা আছে। আপনার থার্মোস্ট্যাট নিয়ন্ত্রণ করতে, আপনাকে ফোন, ট্যাবলেট বা কম্পিউটারে Nest অ্যাপ ব্যবহার করে ম্যানুয়ালি হোম মোডে স্যুইচ করতে হবে।
  • inDryMode : <device(s)> <is/are> বর্তমানে ড্রাই মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inEcoMode : <device(s)> <is/are> বর্তমানে ইকো মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inFanOnlyMode : <device(s)> <is/are> বর্তমানে শুধুমাত্র ফ্যান মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inHeatOrCool : <device(s)> <is/are> তাপ/ঠান্ডা মোডে নেই।
  • inHumidifierMode : <device(s)> <is/are> বর্তমানে হিউমিডিফায়ার মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inOffMode : <device(s)> <is/are> বর্তমানে বন্ধ। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inPurifierMode : <device(s)> <is/are> বর্তমানে পিউরিফায়ার মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> কে অন্য মোডে স্যুইচ করতে হবে।
  • inSleepMode : <device(s)> <is/are> স্লিপ মোডে আছে। অনুগ্রহ করে পরে আবার চেষ্টা করুন।
  • inSoftwareUpdate : <device(s)> <is/are> বর্তমানে একটি সফ্টওয়্যার আপডেটের মধ্যে রয়েছে।
  • লকফেইলর : <device(s)> লক করা যায়নি।
  • lockedState : <device(s)> <is/are> বর্তমানে লক করা আছে।
  • lockedToRange : <device(s)> এ লক করা রেঞ্জের বাইরে তাপমাত্রা।
  • কম ব্যাটারি : <device(s)> <have/have> ব্যাটারি কম।
  • maxSettingReached : <device(s)> <is/are> ইতিমধ্যেই সর্বোচ্চ সেটিংয়ে সেট করা আছে।
  • maxSpeedReached : <device(s)> <is/are> ইতিমধ্যেই সর্বোচ্চ গতিতে সেট করা আছে।
  • minSettingReached : <device(s)> <is/are> ইতিমধ্যেই সর্বনিম্ন সেটিংয়ে সেট করা আছে।
  • minSpeedReached : <device(s)> <is/are> ইতিমধ্যেই সর্বনিম্ন গতিতে সেট করা আছে।
  • monitoringServiceConnectionLost : <device(s)> <have> পর্যবেক্ষণ পরিষেবার সাথে সংযোগ হারিয়েছে।
  • needsAttachment : দুঃখিত, মনে হচ্ছে <device(s)> <is/are> তে একটি প্রয়োজনীয় সংযুক্তি নেই। অনুগ্রহ করে এটি প্রতিস্থাপন করুন এবং আবার চেষ্টা করুন।
  • needsBin : দুঃখিত, মনে হচ্ছে <device(s)> <is/are> এ একটি বিন নেই। অনুগ্রহ করে এটি প্রতিস্থাপন করুন এবং আবার চেষ্টা করুন।
  • needsPads : <device(s)> <need(s)> নতুন প্যাড।
  • needsSoftwareUpdate : <device(s)> <need(s)> একটি সফ্টওয়্যার আপডেট প্রয়োজন।
  • প্রয়োজন জল : <device(s)> <need(s)> জল।
  • networkProfileNotRecognized : দুঃখিত, আমি <device(s)> এ "<network profile>" চিনতে পারছি না।
  • networkSpeedTestInProgress : আমি ইতিমধ্যেই <network> <speed/speeds>> পরীক্ষা করছি।
  • noAvailableApp : দুঃখিত, মনে হচ্ছে <app name> উপলব্ধ নেই।
  • noAvailableChannel : দুঃখিত, মনে হচ্ছে চ্যানেল <channel name> উপলব্ধ নেই।
  • noChannelSubscription : দুঃখিত, আপনি এই মুহূর্তে <channel name> চ্যানেলে সাবস্ক্রাইব করেননি।
  • noTimerExists : দুঃখিত, মনে হচ্ছে <device(s)> এ কোনও টাইমার সেট করা নেই।
  • notSupported : দুঃখিত, <device(s)> এর জন্য এই মোডটি উপলব্ধ নয়।
  • বাধা সনাক্ত করা হয়েছে : <device(s)> একটি বাধা সনাক্ত করেছে।
  • অফলাইন , deviceOffline : দুঃখিত, মনে হচ্ছে <device(s)> <is/are> এখন উপলব্ধ নেই।
  • onRequiresMode : আপনি কোন মোডটি চালু করতে চান তা উল্লেখ করুন।
  • পাসফ্রেজ ভুল : দুঃখিত, মনে হচ্ছে পিনটি ভুল।
  • percentageOutOfRange : দুঃখিত, আমি <device(s)> কে <percent> এ সেট করতে পারছি না।
  • পিন ভুল : (পাসফ্রেজ ভুল)
  • rainDetected : বৃষ্টি ধরা পড়ায় আমি <device(s)> খুলিনি।
  • rangeTooClose : <device(s)> এর জন্য তাপ-শীতল পরিসরের জন্য এগুলি খুব কাছাকাছি। আরও দূরে থাকা তাপমাত্রা বেছে নিন।
  • relinkRequired : দুঃখিত, মনে হচ্ছে আপনার অ্যাকাউন্টে কিছু সমস্যা হয়েছে। <device(s)> পুনরায় লিঙ্ক করতে অনুগ্রহ করে আপনার Google Home বা Assistant অ্যাপ ব্যবহার করুন।
  • রিমোটসেট অক্ষম :
    • ঐচ্ছিক প্যারামিটার errorCodeReason
    • currentlyArmed - দুঃখিত, যেহেতু নিরাপত্তা ইতিমধ্যেই সশস্ত্র, তাই যেকোনো পরিবর্তন করতে আপনাকে <device(s)> অথবা অ্যাপ ব্যবহার করতে হবে।
    • remoteUnlockNotAllowed - দুঃখিত, আমি দূর থেকে <device(s)> আনলক করতে পারছি না।
    • remoteControlOff - এই ক্রিয়াটি বর্তমানে অক্ষম করা আছে। অনুগ্রহ করে <device(s)> এ রিমোট কন্ট্রোল সক্ষম করুন এবং আবার চেষ্টা করুন।
    • childSafetyModeActive - শিশু সুরক্ষা মোড সক্রিয় থাকাকালীন <device(s)> এর জন্য এই ক্রিয়াটি অক্ষম থাকে।
  • roomsOnDifferentFloors : <device(s)> ঐ কক্ষগুলিতে পৌঁছাতে পারে না কারণ এগুলো ভিন্ন তলায় অবস্থিত।
  • safetyShutOff : <device(s)> <is/are> সেফটি শাট-অফ মোডে আছে, তাই <it/they>'কে হাতে সামঞ্জস্য করতে হবে।
  • sceneCannotBeApplied : দুঃখিত, <device(s)> প্রয়োগ করা যাচ্ছে না।
  • securityRestriction : <device(s)> <have/have> একটি নিরাপত্তা বিধিনিষেধ।
  • softwareUpdateNotAvailable : দুঃখিত, <device(s)> এ কোনও সফ্টওয়্যার আপডেট উপলব্ধ নেই।
  • startRequiresTime : এটি করার জন্য, আপনাকে আমাকে বলতে হবে যে আপনি কতক্ষণ <device(s)> চালাতে চান।
  • stillCoolingDown : <device(s)> <is/are> এখনও ঠান্ডা হচ্ছে।
  • stillWarmingUp : <device(s)> <is/are> এখনও গরম হচ্ছে।
  • streamUnavailable : দুঃখিত, মনে হচ্ছে স্ট্রিমটি বর্তমানে <device(s)> থেকে অনুপলব্ধ।
  • streamUnplayable : দুঃখিত, আমি এই মুহূর্তে <device(s)> থেকে স্ট্রিমটি চালাতে পারছি না।
  • tankEmpty : <device(s)> <have/have> <একটি খালি ট্যাঙ্ক/খালি ট্যাঙ্ক>। অনুগ্রহ করে <it/them> পূরণ করুন এবং আবার চেষ্টা করুন।
  • targetAlreadyReached : দুঃখিত, মনে হচ্ছে এটাই বর্তমান তাপমাত্রা।
  • timerValueOutOfRange : <device(s)> এত সময়ের জন্য সেট করা যাবে না।
  • tooManyFailedAttempts : দুঃখিত, অনেকগুলি ব্যর্থ প্রচেষ্টা। এই ক্রিয়াটি সম্পূর্ণ করতে অনুগ্রহ করে আপনার ডিভাইসের অ্যাপে যান।
  • ক্ষণস্থায়ী ত্রুটি : দুঃখিত, <device(s)> নিয়ন্ত্রণ করতে কিছু সমস্যা হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।
  • বন্ধ করা হয়েছে, ডিভাইসটি বন্ধ করা হয়েছে : <device(s)> <is/are> এখনই বন্ধ।
  • unableToLocateDevice : আমি <device(s)> খুঁজে পাইনি।
  • unknownFoodPreset : <device(s)> সেই খাবারের প্রিসেট সমর্থন করে না।
  • unlockFailure : <device(s)> আনলক করা যায়নি।
  • unpausableState : <device(s)> এখনই পজ করা যাচ্ছে না।
  • ব্যবহারকারী বাতিল : ঠিক আছে
  • valueOutOfRange : <device(s)> সেই তাপমাত্রায় সেট করা যাবে না।

অনলাইন এবং অফলাইনে অবস্থা রিপোর্টিং

যখন কোনও ডিভাইস অফলাইন থাকে, তখন আপনার রিপোর্ট করা উচিত ডিভাইসের আচরণের পাঁচ মিনিটের মধ্যে রিপোর্ট স্টেট । বিপরীতভাবে, যখন একটি ডিভাইস অনলাইন অবস্থায় ফিরে আসে, তখন আপনার রিপোর্ট করা উচিত ডিভাইসের আচরণের পাঁচ মিনিটের মধ্যে রিপোর্ট স্টেট যখনই কোনও ডিভাইস আবার অনলাইনে আসে, তখন পার্টনারকে reportStateAndNotification API ব্যবহার করে সমস্ত বর্তমান ডিভাইসের অবস্থা রিপোর্ট করতে হবে। এই উদাহরণটি দেখায় যে একটি light ধরণের ডিভাইস অনলাইনে রয়েছে এবং সমস্ত বর্তমান ডিভাইসের অবস্থা রিপোর্ট করে।
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

ব্যতিক্রম

যখন কোন কমান্ডের সাথে সম্পর্কিত কোন সমস্যা বা সতর্কতা থাকে তখন আপনার একটি ব্যতিক্রম ফেরত দেওয়া উচিত। কমান্ডটি সফল বা ব্যর্থ হতে পারে।

যদি কমান্ডটি সফল হয় (status = "SUCCESS"), StatusReport বৈশিষ্ট্য ব্যবহার করে (টার্গেট ছাড়া অন্য ডিভাইসের জন্য), অথবা একটি উপযুক্ত exceptionCode (টার্গেট ডিভাইসের জন্য) ফেরত দিয়ে ব্যতিক্রমগুলি রিপোর্ট করুন।

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

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

টার্গেট ডিভাইস সম্পর্কে নন-ব্লকিং এক্সেপশন (সাফল্য)

এই উদাহরণটি দরজা লক করার জন্য:

সামনের দরজার তালায় ব্যাটারির চার্জ কম। সামনের দরজাটি লক করা হচ্ছে।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["device-id-1"],
      "status": "SUCCESS",
      "states": {
        "on": true,
        "online": true,
        "isLocked": true,
        "isJammed": false,
        "exceptionCode": "lowBattery"
      }
    }]
  }
}

StatusReport ব্যবহার করে অন্য ডিভাইস সম্পর্কে নন-ব্লকিং এক্সেপশন (SUCCESS)

এই উদাহরণটি একটি নিরাপত্তা ব্যবস্থাকে সজ্জিত করার জন্য: ঠিক আছে, নিরাপত্তা ব্যবস্থাকে সজ্জিত করা। সামনের জানালা খোলা।

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["device-id-1"],
      "status": "SUCCESS",
      "states": {
        "on": true,
        "online": true,
        "isArmed": true,
        "currentArmLevel": "L2",
        "currentStatusReport": [{
          "blocking": false,
          "deviceTarget": "sensor_id1",
          "priority": 0,
          "statusCode": "deviceOpen"
        }]
      }
    }]
  }
}

StatusReport ব্যবহার করে অন্য ডিভাইসের ব্যতিক্রম ব্লক করা

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "device-id-1": {
        "on": true,
        "online": true,
        "status": "EXCEPTIONS",
        "currentStatusReport": [{
            "blocking": true,
            "deviceTarget": "device-id-1",
            "priority": 0,
            "statusCode": "lowBattery"
          },
          {
            "blocking": true,
            "deviceTarget": "front_window_id",
            "priority": 1,
            "statusCode": "deviceOpen"
          },
          {
            "blocking": true,
            "deviceTarget": "back_window_id",
            "priority": 1,
            "statusCode": "deviceOpen"
          }
        ]
      }
    }
  }
}

ব্যতিক্রম তালিকা

নিম্নলিখিত ব্যতিক্রমগুলি ডিভাইসে সংশ্লিষ্ট TTS তৈরি করবে।

  • bagFull : <device(s)> <have/have> <a full bag/full bags>. অনুগ্রহ করে <it/them> খালি করে আবার চেষ্টা করুন।
  • binFull : <device(s)> <have/have> <a full bin/full bins>.
  • কার্বন মনোক্সাইড সনাক্ত করা হয়েছে : <ঘরের নাম> তে কার্বন মনোক্সাইড সনাক্ত করা হয়েছে।
  • deviceAtExtremeTemperature : <device(s)> <is/are> <an extreme temperature/extreme temperature> এ।
  • deviceJammingDetected : <device(s)> <is/are> জ্যাম হয়ে গেছে।
  • deviceMoved : <device(s)> <was/were> সরানো হয়েছে।
  • deviceOpen : <device(s)> <is/are> খোলা।
  • deviceTampered : <device(s)> <has/have> এর সাথে কারচুপি করা হয়েছে।
  • deviceUnplugged : <device(s)> <is/are> প্লাগ-ইন করা আছে।
  • floorUnreachable : <device(s)> সেই ঘরে পৌঁছানো যাচ্ছে না। অনুগ্রহ করে <it/them> ডান তলায় নিয়ে যান এবং আবার চেষ্টা করুন।
  • হার্ডওয়্যার ব্যর্থতা : <device(s)> <have/have> একটি হার্ডওয়্যার সমস্যা।
  • inSoftwareUpdate : <device(s)> <is/are> বর্তমানে একটি সফ্টওয়্যার আপডেটের মধ্যে রয়েছে।
  • isBypassed : <device(s)> <is/are> বর্তমানে বাইপাস করা হয়েছে।
  • কম ব্যাটারি : <device(s)> <have/have> ব্যাটারি কম।
  • motionDetected : <device(s)> <ditect(s)> motion.
  • needsPads : <device(s)> <need(s)> নতুন প্যাড।
  • needsSoftwareUpdate : <device(s)> <need(s)> একটি সফ্টওয়্যার আপডেট প্রয়োজন।
  • প্রয়োজন জল : <device(s)> <need(s)> জল।
  • networkJammingDetected : <device(s)> এর সাথে হোম নেটওয়ার্ক সংযোগ সঠিকভাবে কাজ করছে না।
  • noIssuesReported : <device(s)> কোনও সমস্যা রিপোর্ট করেনি।
  • roomsOnDifferentFloors : <device(s)> ঐ কক্ষগুলিতে পৌঁছাতে পারে না কারণ এগুলো ভিন্ন তলায় অবস্থিত।
  • runCycleFinished : <device(s)> <have/have> চালানো শেষ হয়েছে।
  • securityRestriction : <device(s)> <have/have> একটি নিরাপত্তা বিধিনিষেধ।
  • smokeDetected : <house name> তে ধোঁয়া শনাক্ত করা হয়েছে।
  • tankEmpty : <device(s)> <have/have> <একটি খালি ট্যাঙ্ক/খালি ট্যাঙ্ক>। অনুগ্রহ করে <it/them> পূরণ করুন এবং আবার চেষ্টা করুন।
  • usingCellularBackup : <device(s)> <is/are> সেলুলার ব্যাকআপ ব্যবহার করছে।
  • জললিক সনাক্ত করা হয়েছে : <device(s)> <ditect(s)> একটি জললিকেজ।