সমস্যা ও ব্যতিক্রম

এই ডকুমেন্টে স্মার্ট হোম ডিভাইসের জন্য আনুষ্ঠানিকভাবে-সমর্থিত ত্রুটি এবং ব্যতিক্রমের তালিকা রয়েছে। ইনটেন্ট রেসপন্সে বা বিজ্ঞপ্তিতে (আপনি এটি প্রয়োগ করে থাকলে) প্রদত্ত এইসব সমস্যা ও ব্যতিক্রম কোড ব্যবহার করুন, যাতে 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 response

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

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

EXECUTE উত্তর

নিম্নলিখিত 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 তৈরি হবে।

  • aboveMaximumLightEffectsDuration : এটি সর্বাধিক ১ ঘণ্টার সময়সীমার চেয়ে বেশি। আবার চেষ্টা করুন।
  • aboveMaximumTimerDuration : আমি <device(s)> সর্বাধিক <time period> সময়ের জন্য সেট করতে পারি
  • actionNotAvailable : আমি এখন এটা করতে পারছি না। পরামর্শ: আপনার ফুলফিলমেন্টে ডিভাইসের বৈশিষ্ট্য ও বর্তমান অবস্থার লজিক যাচাই করুন।
  • actionUnavailableWhileRunning : <device(s)> বর্তমানে <is/are> চলছে, তাই আমি কোনও পরিবর্তন করতে পারছি না।
  • alreadyArmed : <device(s)> আগে থেকেই আর্ম করা আছে।
  • alreadyAtMax : <device(s)> <is/are> আগে থেকেই সর্বাধিক তাপমাত্রায় সেট করা আছে।
  • alreadyAtMin : <device(s)> আগে থেকেই সর্বনিম্ন তাপমাত্রায় সেট করা আছে।
  • alreadyClosed : <device(s)> আগে থেকেই বন্ধ করা আছে।
  • alreadyDisarmed : <device(s)> <is/are> আগেই ডিসআর্ম করা হয়েছে।
  • alreadyDocked : <device(s)> আগে থেকেই ডক করা আছে।
  • alreadyInState : <device(s)> <is/are> ইতিমধ্যেই সেই অবস্থায় আছে।
  • alreadyLocked : <device(s)> আগে থেকেই লক করা <is/are>।
  • alreadyOff : <device(s)> আগে থেকেই বন্ধ আছে।
  • alreadyOn : <device(s)> <is/are> আগে থেকেই চালু আছে।
  • alreadyOpen : <device(s)> আগে থেকেই খোলা আছে।
  • alreadyPaused : <device(s)> আগে থেকেই পজ করা আছে।
  • alreadyStarted : <device(s)> <is/are> আগেই চালু করা হয়েছে।
  • alreadyStopped : <device(s)> আগে থেকেই বন্ধ করা আছে।
  • alreadyUnlocked : <device(s)> আগে থেকেই আনলক করা আছে।
  • ambiguousZoneName : <device(s)> আপনি কোন জোনের কথা বলছেন তা শনাক্ত করতে পারছে না। আপনার জোনের নাম অনন্য কিনা তা নিশ্চিত করুন এবং আবার চেষ্টা করুন।
  • amountAboveLimit : <device(s)> যতগুলি সাপোর্ট করতে পারে, এটি তার চেয়ে বেশি।
  • appLaunchFailed : <device(s)>-এ <app name> লঞ্চ করা যায়নি। পরামর্শ: appId এবং টার্গেট হার্ডওয়্যারে অ্যাপটি কাজ করে কিনা তা যাচাই করুন।
  • armFailure : <device(s)> চালু করা যায়নি।
  • armLevelNeeded : <device(s)> কোন লেভেলে সেট করতে হবে তা আমি জানি না। "<device(s)> <low security>-তে সেট করো" অথবা "<device(s)> <high security>-তে সেট করো" বলে দেখুন
  • authFailure : আমি <device(s)>-এর সাথে কানেক্ট করতে পারছি না। আপনার <device/devices> সম্পূর্ণ সেট-আপ করা <is/are> কিনা তা নিশ্চিত করতে অ্যাপটি চেক করে দেখুন।
  • bagFull : <device(s)>-এ <has/have> <a full bag/full bags>। <it/them> খালি করে আবার চেষ্টা করুন।
  • belowMinimumLightEffectsDuration : এটি ন্যূনতম ৫ মিনিটের কম। আবার চেষ্টা করুন।
  • belowMinimumTimerDuration : আমি এত কম সময়ের জন্য <device(s)> সেট করতে পারব না। আবার চেষ্টা করুন।
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : আমি <device(s)> আর্ম করা বাতিল করতে পারিনি।
  • cancelTooLate : অনেক দেরি হয়ে গেছে, এখন আর বাতিল করা যাবে না। পরিবর্তে <device(s)> বা অ্যাপ ব্যবহার করুন।
  • channelSwitchFailed : <channel name> চ্যানেলে পাল্টানো যায়নি। পরে আবার চেষ্টা করুন। পরামর্শ: ব্যবহারকারীর জন্য চ্যানেলের নাম/নম্বর এবং সাবস্ক্রিপশন স্ট্যাটাস যাচাই করুন।
  • chargerIssue : মনে হচ্ছে, <device(s)>-এ <a charger issue/charger issues> আছে। পরামর্শ: পার্টনারের উচিত হার্ডওয়্যার-লেভেল টেলিমেট্রি ও ব্যাটারির আয়ু চেক করা।
  • commandInsertFailed : <device(s)>-এর জন্য কমান্ড প্রসেস করা যায়নি। পরামর্শ: ডেটাবেস রাইট পারফর্ম্যান্স বা ইন্টার্নাল কমান্ড কিউয়িং লজিক খতিয়ে দেখুন।
  • deadBattery : <device(s)>-এর <ব্যাটারি শেষ হয়ে গেছে>।
  • degreesOutOfRange : অনুরোধ করা ডিগ্রি <device(s)>-এর রেঞ্জের বাইরে।
  • deviceAlertNeedsAssistance : <device(s)>-এ একটি অ্যাক্টিভ অ্যালার্ট আছে এবং আপনার সহায়তা <need(s)>।
  • deviceAtExtremeTemperature : <device(s)> <is/are> <an extreme temperature/extreme temperatures>-এ আছে।
  • 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)> জ্যাম হয়ে গেছে।
  • deviceLidOpen : <device(s)>-এর ঢাকনা খোলা আছে। এটি বন্ধ করে আবার চেষ্টা করুন।
  • deviceNeedsRepair : <device(s)> <need(s)> মেরামত করতে হবে। আপনার স্থানীয় পরিষেবা ডিলারের সাথে যোগাযোগ করুন।
  • deviceNotDocked : মনে হচ্ছে, <device(s)> ডক করা <isn't/aren't>। <it/them> ডক করে আবার চেষ্টা করুন।
  • deviceNotFound : <device(s)> উপলভ্য নেই। আপনি হয়ত <it/them> আবার সেট-আপ করতে চাইবেন। পরামর্শ: আপনার ব্যাকএন্ড যাতে সবসময় হোম গ্রাফ সিঙ্ক করে রাখে তা নিশ্চিত করুন। ডিভাইস যোগ করা বা সরানো হলে requestSync-এ কল করুন।
  • deviceNotMounted : মনে হচ্ছে, <device(s)> এটি করতে পারবে না কারণ <it/they> মাউন্ট করা <is/are> নেই।
  • deviceNotReady : <device(s)> <is/are>রেডি নেই।
  • deviceStuck : <device(s)> আটকে গেছে এবং আপনার সাহায্য প্রয়োজন।
  • deviceTampered : <device(s)> <has/have> ক্ষতিগ্রস্ত হয়েছে।
  • deviceThermalShutdown : মনে হচ্ছে, খুব বেশি তাপমাত্রার কারণে <device(s)> বন্ধ হয়ে গেছে।
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> রিমোট কন্ট্রোল কাজ করে না।
  • disarmFailure : <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> ম্যানুয়ালি অ্যাডজাস্ট করতে হবে।
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : <device(s)> ওই রুমে পৌঁছাতে পারছে না। <it/them> সঠিক ফ্লোরে সরান এবং আবার চেষ্টা করুন।
  • functionNotSupported : আসলে, <device(s)>-এ এই ফাংশনালিটি কাজ করে না। পরামর্শ: আপনার SYNC রেসপন্স যাতে ডিভাইসের ক্ষমতা সঠিকভাবে প্রতিফলিত করে তা নিশ্চিত করুন।
  • genericDispenseNotSupported : আপনি কী ডিসপেন্স করতে চান তা আমাকে জানতে হবে। আইটেমের নাম দিয়ে আবার চেষ্টা করুন।
  • hardError : কোনও সমস্যা হয়েছে এবং আমি আপনার হোম ডিভাইস কন্ট্রোল করতে পারছি না।
  • hardError : কোনও সমস্যা হয়েছে এবং আমি আপনার হোম ডিভাইস কন্ট্রোল করতে পারছি না।
  • inAutoMode : <device(s)> বর্তমানে অটো মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inAwayMode : <device(s)> বর্তমানে 'বাহির' মোডে সেট করা আছে। আপনার থার্মোস্ট্যাট কন্ট্রোল করতে, ফোন, ট্যাবলেট বা কম্পিউটারে Nest অ্যাপ ব্যবহার করে আপনাকে ম্যানুয়ালি এটি হোম মোডে পাল্টাতে হবে।
  • inDryMode : <device(s)> বর্তমানে ড্রাই মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inEcoMode : <device(s)> বর্তমানে ইকো মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inFanOnlyMode : <device(s)> বর্তমানে শুধু-ফ্যান মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inHeatOrCool : <device(s)> <is/are>হিট/কুল মোডে নেই।
  • inHumidifierMode : <device(s)> বর্তমানে আর্দ্রতা বাড়ানোর মেশিন মোডে সেট করা <is/are>। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inOffMode : <device(s)> বর্তমানে বন্ধ আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inPurifierMode : <device(s)> বর্তমানে পিউরিফায়ার মোডে সেট করা <is/are>। তাপমাত্রা পরিবর্তন করতে, আপনাকে <it/them> অন্য মোডে পরিবর্তন করতে হবে।
  • inSleepMode : <device(s)> স্লিপ মোডে <is/are>। পরে আবার চেষ্টা করুন।
  • inSoftwareUpdate : <device(s)> <is/are> বর্তমানে সফ্টওয়্যার আপডেট চলছে।
  • lockFailure : <device(s)> লক করা যায়নি। পরামর্শ: লক হার্ডওয়্যারে ফিজিক্যাল জ্যাম, কম পাওয়ার বা মোটর কাজ না করার মতো সমস্যা আছে কিনা তা ভাল করে দেখুন।
  • lockedState : <device(s)> বর্তমানে লক করা <is/are>।
  • lockedToRange : <device(s)>-এ লক করা রেঞ্জের বাইরে তাপমাত্রা রয়েছে।
  • lowBattery : <device(s)>-এ ব্যাটারি কম আছে।
  • maxSettingReached : <device(s)> <is/are> আগে থেকেই সর্বোচ্চ সেটিংয়ে সেট করা আছে।
  • maxSpeedReached : <device(s)> আগে থেকেই সর্বাধিক স্পিডে সেট করা আছে।
  • minSettingReached : <device(s)> <is/are> ইতিমধ্যেই সর্বনিম্ন সেটিংয়ে সেট করা আছে।
  • minSpeedReached : <device(s)> <is/are> আগে থেকেই সর্বনিম্ন স্পিডে সেট করা আছে।
  • monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> মনিটরিং পরিষেবার সাথে কানেকশন হারিয়েছে।
  • needsAttachment : মনে হচ্ছে, <device(s)>-এ প্রয়োজনীয় অ্যাটাচমেন্ট নেই। এটি পরিবর্তন করে আবার চেষ্টা করুন।
  • needsBin : মনে হচ্ছে, <device(s)>-এ বিন নেই। এটি পরিবর্তন করে আবার চেষ্টা করুন।
  • needsPads : <device(s)>-এ নতুন প্যাড <need(s)>।
  • needsSoftwareUpdate : <device(s)>-এ সফ্টওয়্যার আপডেট <need(s)>।
  • needsWater : <device(s)>-এ <need(s)> জল দিতে হবে।
  • networkProfileNotRecognized : <device(s)>-এ "<network profile>" আমি চিনতে পারছি না। পরামর্শ: প্রোফাইলের নাম স্ট্রিং SYNC রেসপন্সে কাজ করে এমন প্রোফাইলের সাথে ম্যাচ করছে কিনা তা যাচাই করুন।
  • networkSpeedTestInProgress : আমি ইতিমধ্যেই <network> <speed/speeds>> পরীক্ষা করছি।
  • noAvailableApp : <app name> উপলভ্য নেই বলে মনে হচ্ছে।
  • noAvailableChannel : মনে হচ্ছে, <channel name> চ্যানেলটি উপলভ্য নেই।
  • noChannelSubscription : দুঃখিত, আপনি বর্তমানে <channel name> চ্যানেল সাবস্ক্রাইব করেননি।
  • noTimerExists : মনে হচ্ছে, <device(s)>-এ কোনও টাইমার সেট করা নেই।
  • notSupported : <device(s)>-এর জন্য এই মোড উপলভ্য নেই।
  • obstructionDetected : <device(s)> বাধা শনাক্ত করেছে।
  • offline , deviceOffline : মনে হচ্ছে, <device(s)> এখন উপলভ্য নেই।
  • onRequiresMode : আপনি কোন মোড চালু করতে চান তা উল্লেখ করুন।
  • passphraseIncorrect : মনে হচ্ছে, পিনটি ভুল।
  • percentOutOfRange : আমি <device(s)> <percent>-এ সেট করতে পারছি না।
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : আমি <device(s)> খুলিনি কারণ বৃষ্টি শনাক্ত করা হয়েছে।
  • rangeTooClose : <device(s)>-এর জন্য হিট-কুল রেঞ্জের ক্ষেত্রে সেগুলি খুব কাছাকাছি। এমন তাপমাত্রা বেছে নিন যেগুলি আরও দূরে দূরে আছে।
  • relinkRequired : মনে হচ্ছে, আপনার অ্যাকাউন্টে কোনও সমস্যা হয়েছে। <device(s)> আবার লিঙ্ক করতে আপনার Google Home বা Assistant অ্যাপ ব্যবহার করুন। পরামর্শ: রিফ্রেশ টোকেন স্থায়ীভাবে অবৈধ হলে আপনার সার্ভার যাতে এই কোড রিটার্ন করে তা নিশ্চিত করুন।
  • remoteSetDisabled :
    • ঐচ্ছিক প্যারামিটার 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)>-এ নিরাপত্তা সংক্রান্ত বিধিনিষেধ আছে।
  • softwareUpdateNotAvailable : <device(s)>-এ কোনও সফ্টওয়্যার আপডেট উপলভ্য নেই।
  • startRequiresTime : সেটি করতে, আপনাকে বলতে হবে যে কতক্ষণ <device(s)> চালাতে চান।
  • stillCoolingDown : <device(s)> এখনও ঠান্ডা হচ্ছে।
  • stillWarmingUp : <device(s)> এখনও ওয়ার্ম-আপ হচ্ছে।
  • streamUnavailable : মনে হচ্ছে, <device(s)> থেকে স্ট্রিম বর্তমানে উপলভ্য নেই।
  • streamUnplayable : আমি এই মুহূর্তে <device(s)> থেকে স্ট্রিম চালাতে পারছি না। পরামর্শ: WebRTC/HLS সিগন্যালিং যাচাই করুন এবং স্ট্রিম URL সঠিক কিনা তা নিশ্চিত করুন।
  • tankEmpty : <device(s)>-এর <ট্যাঙ্ক খালি আছে>। <সেটি/সেগুলি> ভর্তি করে আবার চেষ্টা করুন।
  • targetAlreadyReached : মনে হচ্ছে, এটিই বর্তমান তাপমাত্রা।
  • timerValueOutOfRange : <device(s)> ওই সময়ের জন্য সেট করা যাবে না।
  • tooManyFailedAttempts : অনেকবার চেষ্টা করা হয়েছে। সেই অ্যাকশন সম্পূর্ণ করতে আপনার ডিভাইসের অ্যাপে যান।
  • transientError : <device(s)> নিয়ন্ত্রণ করার সময় কোনও সমস্যা হয়েছে। আবার চেষ্টা করুন। পরামর্শ: সাধারণত, কোনও ডিভাইস বা পরিষেবার সাথে কানেকশন ড্রপ হয়ে গেলে এই ধরনের সমস্যা দেখা যায়। এছাড়াও, কোনও সার্ভারে নতুন কানেকশন খোলা না গেলে।
  • turnedOff , deviceTurnedOff : <device(s)> এখন বন্ধ <is/are>।
  • unableToLocateDevice : আমি <device(s)> লোকেট করতে পারিনি। পরামর্শ: ডিভাইসের লোকাল কানেক্টিভিটি (ওয়াই-ফাই/ব্লুটুথ) চেক করুন।
  • unknownFoodPreset : <device(s)> এই ফুড প্রিসেট সাপোর্ট করে না।
  • unlockFailure : <device(s)> আনলক করা যায়নি। পরামর্শ: হার্ডওয়্যার জ্যাম, কম ব্যাটারি বা ভুল পিন লেখা হয়েছে কিনা তা ভাল করে দেখুন।
  • unpausableState : <device(s)> এখন পজ করা যাবে না।
  • userCancelled : ok
  • valueOutOfRange : <device(s)> এই তাপমাত্রায় সেট করা যাবে না।

অনলাইন ও অফলাইন স্ট্যাটাস রিপোর্টিং

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

ব্যতিক্রম

কোনও কমান্ডের সাথে সম্পর্কিত সমস্যা বা সতর্কতা থাকলে, আপনাকে একটি ব্যতিক্রম রিটার্ন করতে হবে। কমান্ডটি কাজ করতে পারে বা নাও করতে পারে।

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

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

ব্যতিক্রমের কারণে কমান্ড কাজ না করলে, স্ট্যাটাস "EXCEPTIONS" হতে হবে, এবং 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)>-এ <has/have> <a full bag/full bags>। <it/them> খালি করে আবার চেষ্টা করুন।
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • carbonMonoxideDetected : <house name>-এ কার্বন মনোক্সাইড শনাক্ত করা হয়েছে।
  • deviceAtExtremeTemperature : <device(s)> <is/are> <an extreme temperature/extreme temperatures> তাপমাত্রায় রয়েছে।
  • deviceJammingDetected : <device(s)> জ্যাম হয়ে গেছে।
  • 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> সঠিক ফ্লোরে সরান এবং আবার চেষ্টা করুন।
  • hardwareFailure : <device(s)>-এ হার্ডওয়্যার সংক্রান্ত সমস্যা <has/have>।
  • inSoftwareUpdate : <device(s)> <is/are> বর্তমানে সফ্টওয়্যার আপডেট চলছে।
  • isBypassed : <device(s)> বর্তমানে বাইপাস করা <is/are>।
  • lowBattery : <device(s)>-এ ব্যাটারি কম আছে।
  • motionDetected : <device(s)> <detect(s)> মোশন।
  • needsPads : <device(s)>-এ নতুন প্যাড <need(s)>।
  • needsSoftwareUpdate : <device(s)>-এ সফ্টওয়্যার আপডেট <need(s)>।
  • needsWater : <device(s)>-এ <need(s)> জল দিতে হবে।
  • networkJammingDetected : <device(s)>-এর সাথে হোম নেটওয়ার্ক কানেকশন ঠিকভাবে কাজ করছে না।
  • noIssuesReported : <device(s)> কোনও সমস্যা রিপোর্ট করেনি।
  • roomsOnDifferentFloors : <device(s)> সেইসব রুমে পৌঁছাতে পারছে না কারণ সেগুলি অন্য ফ্লোরে আছে।
  • runCycleFinished : <device(s)> <has/have> চালানো শেষ হয়েছে।
  • securityRestriction : <device(s)>-এ নিরাপত্তা সংক্রান্ত বিধিনিষেধ আছে।
  • smokeDetected : <house name>-এ ধোঁয়া শনাক্ত করা হয়েছে।
  • tankEmpty : <device(s)>-এর <ট্যাঙ্ক খালি আছে>। <সেটি/সেগুলি> ভর্তি করে আবার চেষ্টা করুন।
  • usingCellularBackup : <device(s)> মোবাইল ব্যাক-আপ ব্যবহার <is/are> করছে।
  • waterLeakDetected : <device(s)> <detect(s)> জল লিক করছে।
</code{"online":></code{"online":>