এই দস্তাবেজটি স্মার্ট হোম ডিভাইসগুলির জন্য আনুষ্ঠানিকভাবে-সমর্থিত ত্রুটি এবং ব্যতিক্রমগুলির তালিকা করে৷ অনুগ্রহ করে এই প্রদত্ত ত্রুটি এবং ব্যতিক্রম কোডগুলি উদ্দেশ্য প্রতিক্রিয়া বা বিজ্ঞপ্তিগুলিতে ব্যবহার করুন যদি আপনি এটি প্রয়োগ করে থাকেন, তাই Google সহকারী প্রদত্ত কমান্ড বা ডিভাইসের অবস্থা সম্পর্কিত সমস্যাগুলির জন্য শেষ ব্যবহারকারীদের সতর্ক করে। যদি প্রতিক্রিয়াতে ভুল বিন্যাস বা errorCode
থাকে, গুগল সহকারী ব্যবহারকারীদের একটি সাধারণ ত্রুটি বার্তা দেয়, উদাহরণস্বরূপ, "দুঃখিত, ডিভাইস এখন উপলব্ধ নয়"।
ত্রুটি
কোনো সমস্যার কারণে এক্সিকিউট বা ক্যোয়ারী রিকোয়েস্ট ব্যর্থ হলে আপনার একটি ত্রুটি কোড ফেরত দেওয়া উচিত। উদাহরণস্বরূপ, যদি একটি দরজার লক জ্যাম করা হয় এবং লক বা আনলক করা যায় না, এই অবস্থা সম্পর্কে একটি ত্রুটি ব্যবহারকারীকে ফেরত দেওয়া উচিত।
ত্রুটি কোডগুলি ডিভাইস স্তরে বা বিশ্বস্তরে সংযুক্ত করা যেতে পারে৷ উদাহরণস্বরূপ, যদি একজন ব্যবহারকারীর একটি প্রদানকারীর কাছ থেকে অনেকগুলি আলো থাকে এবং সেগুলি একটি হাব দ্বারা নিয়ন্ত্রিত হয়, যখন ব্যবহারকারী তাদের সমস্ত লাইট বন্ধ করতে বলেন, একটি একক আলো অফলাইনে থাকলে প্রদানকারী একটি ডিভাইস-স্তরের ত্রুটি ফিরিয়ে দিতে পারে, অথবা একটি গ্লোবাল -স্তরের ত্রুটি যদি তাদের সম্পূর্ণ হাব অফলাইনে থাকে এবং কোন আলো নিয়ন্ত্রণ করা যায় না। যদি সমস্ত ডিভাইস অফলাইনে থাকে, তাহলে গ্লোবাল-লেভেল বা ডিভাইস-লেভেলের ত্রুটি ব্যবহার করার মধ্যে কোন পার্থক্য নেই। যখন একটি ডিভাইস অফলাইন থাকে, তখন আপনার রিপোর্ট স্টেটে {"online": false}
অবস্থার রিপোর্ট করা উচিত, এমনকি যদি আপনি deviceOffline
ত্রুটি কোড ফেরত দেন।
সংক্ষেপে:
- বিশ্ব-স্তরের ত্রুটি: প্রতিক্রিয়ার সমস্ত ডিভাইসে একই ত্রুটি রয়েছে
- স্থানীয়-স্তরের ত্রুটি: ত্রুটি এবং সাফল্যের ক্ষেত্রে মিশ্র প্রতিক্রিয়া
বিশ্ব-স্তরের ত্রুটি
নিম্নলিখিত 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 তৈরি করবে।
- উপরে সর্বাধিক আলোক প্রভাবের সময়কাল : এটি সর্বোচ্চ 1 ঘন্টার চেয়ে বেশি। অনুগ্রহপূর্বক আবার চেষ্টা করুন.
- aboveMaximumTimerDuration : আমি শুধুমাত্র <সময়কাল> পর্যন্ত <ডিভাইস(গুলি)> সেট করতে পারি
- actionNotAvailable : দুঃখিত, আমি এখনই তা করতে পারছি না।
- actionUnavailableWhileRunning : <device(s)></are> বর্তমানে চলছে, তাই আমি কোনো পরিবর্তন করতে পারছি না।
- ইতিমধ্যে সশস্ত্র : <device(গুলি)> <is> ইতিমধ্যেই সশস্ত্র।
- alreadyAtMax : <device(গুলি)> <is> ইতিমধ্যেই সর্বোচ্চ তাপমাত্রায় সেট করা আছে।
- alreadyAtMin : <device(গুলি)> <is> ইতিমধ্যেই সর্বনিম্ন তাপমাত্রায় সেট করা আছে।
- ইতিমধ্যে বন্ধ : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই বন্ধ।
- ইতিমধ্যে নিরস্ত্র : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই নিরস্ত্র।
- alreadyDocked : <device(গুলি)> <is/are> ইতিমধ্যে ডক করা হয়েছে।
- alreadyInState : <device(s)></are> ইতিমধ্যে সেই অবস্থায় আছে।
- alreadyLocked : <device(গুলি)> <is> ইতিমধ্যেই লক করা আছে।
- ইতিমধ্যে বন্ধ : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই বন্ধ।
- alreadyOn : <device(গুলি)> <is> ইতিমধ্যে চালু আছে।
- ইতিমধ্যেই খোলা : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই খোলা।
- ইতিমধ্যে বিরাম দেওয়া হয়েছে : <ডিভাইস(গুলি)> <is/are> ইতিমধ্যেই বিরাম দেওয়া হয়েছে।
- ইতিমধ্যে শুরু হয়েছে : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই শুরু হয়েছে।
- ইতিমধ্যে থামানো হয়েছে : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই বন্ধ হয়ে গেছে।
- ইতিমধ্যেই আনলক করা হয়েছে : <ডিভাইস(গুলি)> <is/are> ইতিমধ্যেই আনলক করা আছে।
- ambiguousZoneName : দুঃখিত, <device(s)> আপনি কোন অঞ্চল বলতে চাচ্ছেন তা সনাক্ত করতে পারে না। অনুগ্রহ করে নিশ্চিত করুন যে আপনার অঞ্চলের অনন্য নাম আছে এবং আবার চেষ্টা করুন।
- amountAboveLimit : এটি <device(গুলি)> সমর্থন করতে পারে তার চেয়ে বেশি।
- appLaunchFailed : দুঃখিত, <device(s)>-এ <app name> চালু করতে ব্যর্থ হয়েছে।
- armfailure : <device(গুলি)> সশস্ত্র করা যায়নি।
- armLevelNeeded : আমি নিশ্চিত নই কোন স্তরটি <device(s)> এ সেট করতে হবে। বলার চেষ্টা করুন "<device(s)> to <low security>" অথবা "set <device(s)> to <high security>"
- authFailure : আমি <device(s)> এ পৌঁছাতে পারছি না। আপনার <device/devices> </are> সম্পূর্ণ সেট আপ হয়েছে তা নিশ্চিত করতে অ্যাপটি চেক করার চেষ্টা করুন।
- ব্যাগফুল : <ডিভাইস(গুলি)> < আছে> <একটি পূর্ণ ব্যাগ/পূর্ণ ব্যাগ>। দয়া করে খালি করুন <it </them> এবং আবার চেষ্টা করুন।
- নিচের ন্যূনতম লাইট ইফেক্টের সময়কাল : এটি ন্যূনতম 5 মিনিটের চেয়ে কম। অনুগ্রহপূর্বক আবার চেষ্টা করুন.
- belowMinimumTimerDuration : আমি এত অল্প সময়ের জন্য <device(s)> সেট করতে পারি না। অনুগ্রহপূর্বক আবার চেষ্টা করুন.
- binFull : <device(গুলি)> <have> <a full bin/full bins>.
- cancelArmingRestricted : দুঃখিত, আমি আর্মিং <device(s)> বাতিল করতে পারিনি।
- cancelTooLate : দুঃখিত, বাতিল করতে অনেক দেরি হয়ে গেছে। পরিবর্তে <ডিভাইস(গুলি)> বা অ্যাপ ব্যবহার করুন।
- channelSwitchFailed : দুঃখিত, চ্যানেল <channel name> এ স্যুইচ করতে ব্যর্থ। অনুগ্রহ করে একটু পরে আবার চেষ্টা করুন.
- chargerIssue : দুঃখিত, এটা মনে হচ্ছে <device(গুলি)> <have> <a charger issue/charger issue>.
- commandInsertFailed : <device(s)>-এর জন্য কমান্ড প্রক্রিয়া করতে অক্ষম।
- ডেড ব্যাটারি : <ডিভাইস(গুলি)> <have> <একটি মৃত ব্যাটারি/মৃত ব্যাটারি>।
- degreesOutOfRange : অনুরোধ করা ডিগ্রীগুলি <device(গুলি)> এর জন্য পরিসীমার বাইরে।
- deviceAlertNeedsAssistance : <device(s)> </have> একটি সক্রিয় সতর্কতা এবং <need(s)> আপনার সহায়তা।
- deviceAtExtremeTemperature : <ডিভাইস(গুলি)> </are> <একটি চরম তাপমাত্রা/চরম তাপমাত্রা> এ।
- deviceBusy : দুঃখিত, মনে হচ্ছে <device(s)> ইতিমধ্যেই কিছু করছে।
- deviceCharging : দুঃখিত, মনে হচ্ছে <device(s)> এটা করতে পারে না কারণ (ha_shared.ItsTheyre size=$item.devices.total_device_count) চার্জ হচ্ছে।
- deviceClogged : দুঃখিত, দেখে মনে হচ্ছে <device(গুলি)> আটকে আছে।
- deviceCurentlyDispensing : <device(s)> ইতিমধ্যেই কিছু বিতরণ করছে।
- deviceDoorOpen : দরজা <ডিভাইস(গুলি)> এ খোলা আছে। এটি বন্ধ করুন এবং আবার চেষ্টা করুন.
- deviceHandleClosed : হ্যান্ডেলটি <ডিভাইস(গুলি)> এ বন্ধ রয়েছে। এটি খুলুন এবং আবার চেষ্টা করুন.
- deviceJamming সনাক্ত করা হয়েছে : <ডিভাইস(গুলি)> <is> জ্যাম।
- deviceLidOpen : ঢাকনা <ডিভাইস(গুলি)> এ খোলা আছে। এটি বন্ধ করুন এবং আবার চেষ্টা করুন.
- deviceNeedsRepair : <ডিভাইস(গুলি)> <দরকার(গুলি)> মেরামত করতে হবে৷ আপনার স্থানীয় পরিষেবা ডিলারের সাথে যোগাযোগ করুন.
- deviceNotDocked : দুঃখিত, দেখে মনে হচ্ছে <device(গুলি)> <isn't/arn't> ডক করা আছে। অনুগ্রহ করে ডক করুন </them> এবং আবার চেষ্টা করুন।
- deviceNotFound : <device(গুলি)> <is/are> উপলব্ধ নেই। আপনি আবার <it </them> সেট আপ করার চেষ্টা করতে পারেন।
- deviceNotMounted : দুঃখিত, মনে হচ্ছে <device(s)> এটা করতে পারবে না কারণ <it> <is> মাউন্ট করা নেই।
- deviceNotReady : <ডিভাইস(গুলি)> <is/are> প্রস্তুত নয়।
- deviceStuck : <device(s)></are> আটকে আছে এবং আপনার সাহায্য প্রয়োজন।
- device Tampered : <device(গুলি)> <have> এর সাথে টেম্পার করা হয়েছে।
- deviceThermalShutdown : দুঃখিত, মনে হচ্ছে চরম তাপমাত্রার কারণে <device(গুলি)> বন্ধ হয়ে গেছে।
- directResponseOnlyUnreachable : <ডিভাইস(গুলি)> রিমোট কন্ট্রোল সমর্থন করে না।
- নিরস্ত্র ব্যর্থতা : <ডিভাইস(গুলি)> নিরস্ত্র করা যায়নি।
- discreteOnlyOpenClose : দুঃখিত, <device(s)> শুধুমাত্র খোলা বা বন্ধ করা যাবে।
- dispenseAmountAboveLimit : <device(গুলি)> এত বড় পরিমাণ বিতরণ করতে পারে না।
- dispenseAmountBelowLimit : <device(গুলি)> এত কম পরিমাণে বিতরণ করতে পারে না।
- dispenseAmountRemainingExceeded : <device(s)> এর কাছে এটি করার জন্য যথেষ্ট <dispense item> নেই।
- dispenseFractionalAmountNotSupported : <device(গুলি)> <dispense item> এর ভগ্নাংশ বিতরণ করতে পারে না।
- dispenseFractionalUnitNotSupported : <device(গুলি)> <dispense item>-এর জন্য সেই ইউনিটের ভগ্নাংশ সমর্থন করে না।
- dispenseUnitNotSupported : <device(গুলি)> <dispense item>-এর জন্য সেই ইউনিটকে সমর্থন করে না।
- doorClosedTooLong : <device(s)>-এর দরজা খোলার পর বেশ কিছুক্ষণ হয়ে গেছে। অনুগ্রহ করে দরজা খুলুন, নিশ্চিত করুন যে ভিতরে কিছু আছে এবং আবার চেষ্টা করুন।
- EmergencyHeatOn : <device(গুলি)> <is> </are> ইমার্জেন্সি হিট মোডে, তাই <it>কে হাত দিয়ে সামঞ্জস্য করতে হবে।
- ত্রুটিপূর্ণ ব্যাটারি : <ডিভাইস(গুলি)> <have> <একটি ত্রুটিপূর্ণ ব্যাটারি/ত্রুটিযুক্ত ব্যাটারি>।
- ফ্লোরে পৌঁছানো যায় না : <ডিভাইস(গুলি)> সেই ঘরে পৌঁছাতে পারে না। অনুগ্রহ করে <it </them> ডান তলায় সরান এবং আবার চেষ্টা করুন।
- functionNotSupported : আসলে, <device(s)> <doesn/don't> সেই কার্যকারিতা সমর্থন করে।
- genericDispenseNotSupported : আপনি কি দিতে চান তা আমার জানা দরকার। অনুগ্রহ করে আইটেমের নাম দিয়ে আবার চেষ্টা করুন।
- hardError : দুঃখিত, কিছু ভুল হয়েছে এবং আমি আপনার হোম ডিভাইস নিয়ন্ত্রণ করতে অক্ষম।
- hardError : দুঃখিত, কিছু ভুল হয়েছে এবং আমি আপনার হোম ডিভাইস নিয়ন্ত্রণ করতে অক্ষম।
- inAutoMode : <device(গুলি)> <is> বর্তমানে স্বয়ংক্রিয় মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inAwayMode : <device(গুলি)> <is> বর্তমানে দূরে মোডে সেট করা আছে। আপনার থার্মোস্ট্যাট নিয়ন্ত্রণ করতে, আপনাকে ফোন, ট্যাবলেট বা কম্পিউটারে নেস্ট অ্যাপ ব্যবহার করে ম্যানুয়ালি হোম মোডে স্যুইচ করতে হবে।
- inDryMode : <device(গুলি)> <is> বর্তমানে ড্রাই মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inEcoMode : <device(গুলি)> <is> বর্তমানে ইকো মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inFanOnlyMode : <device(গুলি)> </are> বর্তমানে শুধুমাত্র ফ্যান মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inHeatOrCool : <ডিভাইস(গুলি)> </are>হিট/কুল মোডে নেই।
- inHumidifierMode : <device(গুলি)> </are> বর্তমানে হিউমিডিফায়ার মোডে সেট করা হয়েছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inOffMode : <device(গুলি)> <is/are> বর্তমানে বন্ধ। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inPurifierMode : <device(গুলি)> <is> বর্তমানে পিউরিফায়ার মোডে সেট করা আছে। তাপমাত্রা পরিবর্তন করতে, আপনাকে একটি ভিন্ন মোডে <it</them> স্যুইচ করতে হবে।
- inSleepMode : <device(গুলি)> <is/are> স্লিপ মোডে। অনুগ্রহ করে একটু পরে আবার চেষ্টা করুন.
- inSoftwareUpdate : <device(গুলি)> <is> বর্তমানে একটি সফ্টওয়্যার আপডেটে আছে।
- lockFailure : <device(গুলি)> লক করা যায়নি।
- lockedState : <device(গুলি)> <is> বর্তমানে লক করা আছে।
- lockedToRange : এই তাপমাত্রা <device(s)>-এ লক করা সীমার বাইরে।
- কম ব্যাটারি : <ডিভাইস(গুলি)> <have> কম ব্যাটারি।
- maxSettingReached : <device(গুলি)> <is> ইতিমধ্যেই সর্বোচ্চ সেটিংয়ে সেট করা আছে।
- maxSpeedReached : <device(গুলি)> </are> ইতিমধ্যেই সর্বোচ্চ গতিতে সেট করা আছে।
- minSettingReached : <device(s)> </are> ইতিমধ্যেই সর্বনিম্ন সেটিংয়ে সেট করা আছে।
- minSpeedReached : <device(গুলি)> </are> ইতিমধ্যেই সর্বনিম্ন গতিতে সেট করা আছে৷
- monitoringServiceConnectionLost : <device(s)> <have> হারিয়েছে <its/their> পর্যবেক্ষণ পরিষেবার সাথে সংযোগ।
- needAttachment : দুঃখিত, মনে হচ্ছে <device(গুলি)> <is> একটি প্রয়োজনীয় সংযুক্তি অনুপস্থিত। অনুগ্রহ করে এটি প্রতিস্থাপন করুন এবং আবার চেষ্টা করুন।
- needBin : দুঃখিত, মনে হচ্ছে <device(s)> </are> একটি বিন অনুপস্থিত। অনুগ্রহ করে এটি প্রতিস্থাপন করুন এবং আবার চেষ্টা করুন।
- needPads : <device(s)> <need(s)> new pads.
- needSoftwareUpdate : <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)>-এ কোনো টাইমার সেট করা নেই।
- সমর্থিত নয় : দুঃখিত, সেই মোডটি <ডিভাইস(গুলি)> এর জন্য উপলব্ধ নয়।
- obstructionDetected : <device(s)> একটি বাধা শনাক্ত করেছে।
- অফলাইন , ডিভাইস অফলাইন : দুঃখিত, মনে হচ্ছে <ডিভাইস(গুলি)> </are> এই মুহূর্তে উপলব্ধ নেই৷
- onRequiresMode : আপনি কোন মোড চালু করতে চান তা উল্লেখ করুন।
- পাসফ্রেজ ভুল : দুঃখিত, মনে হচ্ছে সেই পিনটি ভুল।
- percentOutOfRange : দুঃখিত, আমি <device(s)> কে <percent> এ সেট করতে পারছি না।
- পিন ভুল : (পাসফ্রেজ ভুল)
- rainDetected : আমি <device(s)> খুলিনি কারণ বৃষ্টি শনাক্ত হয়েছে।
- rangeTooClose : এগুলি <device(গুলি)>-এর জন্য হিট-কুল পরিসরের জন্য খুব কাছাকাছি। এমন তাপমাত্রা বেছে নিন যা দূরে থাকে।
- relinkRequired : দুঃখিত, মনে হচ্ছে আপনার অ্যাকাউন্টে কিছু ভুল হয়েছে৷ <ডিভাইস(গুলি)> পুনরায় লিঙ্ক করতে অনুগ্রহ করে আপনার Google হোম বা সহকারী অ্যাপ ব্যবহার করুন।
- remoteSetDisabled :
- ঐচ্ছিক পরামিতি
errorCodeReason
-
currentlyArmed
- দুঃখিত, যেহেতু নিরাপত্তা ইতিমধ্যেই সশস্ত্র, তাই কোনো পরিবর্তন করতে আপনাকে <device(গুলি)> বা অ্যাপ ব্যবহার করতে হবে। -
remoteUnlockNotAllowed
- দুঃখিত, আমি দূর থেকে <device(s)> আনলক করতে পারছি না। -
remoteControlOff
- সেই ক্রিয়াটি বর্তমানে নিষ্ক্রিয় করা আছে। অনুগ্রহ করে <ডিভাইস(গুলি)> এ রিমোট কন্ট্রোল সক্ষম করুন এবং আবার চেষ্টা করুন। -
childSafetyModeActive
- শিশু নিরাপত্তা মোড সক্রিয় থাকাকালীন <ডিভাইস(গুলি)> এর জন্য সেই ক্রিয়াটি অক্ষম করা হয়।
- ঐচ্ছিক পরামিতি
- roomsOnDifferentFloors : <device(s)> সেই কক্ষগুলিতে পৌঁছতে পারে না কারণ সেগুলি বিভিন্ন তলায় রয়েছে৷
- safeShutOff : <device(s)></are> সেফটি শাট-অফ মোডে, তাই <এটি>কে হাত দিয়ে সামঞ্জস্য করতে হবে।
- sceneCannotBeApplied : দুঃখিত, <device(গুলি)> প্রয়োগ করা যাবে না।
- নিরাপত্তা নিষেধাজ্ঞা : <ডিভাইস(গুলি)> </have> একটি নিরাপত্তা সীমাবদ্ধতা।
- softwareUpdateNotAvailable : দুঃখিত, <device(s)> এ কোন সফ্টওয়্যার আপডেট উপলব্ধ নেই।
- startRequiresTime : এটি করার জন্য, আপনাকে আমাকে বলতে হবে আপনি কতক্ষণ <device(s)> চালাতে চান।
- stillCoolingDown : <device(গুলি)> </are> এখনও ঠান্ডা হচ্ছে।
- stillWarmingUp : <device(গুলি)> <is> এখনও ওয়ার্ম আপ হচ্ছে।
- স্ট্রীম অনুপলব্ধ : দুঃখিত, মনে হচ্ছে স্ট্রীমটি বর্তমানে <device(s)> থেকে অনুপলব্ধ।
- streamUnplayable : দুঃখিত, আমি এই মুহূর্তে <device(s)> থেকে স্ট্রীম চালাতে পারছি না।
- ট্যাঙ্ক খালি : <ডিভাইস(গুলি)> <have> <একটি খালি ট্যাঙ্ক/খালি ট্যাঙ্ক>। অনুগ্রহ করে <it</em> পূরণ করুন এবং আবার চেষ্টা করুন।
- targetAlreadyReached : দুঃখিত, মনে হচ্ছে এটি ইতিমধ্যে বর্তমান তাপমাত্রা।
- timerValueOutOfRange : <device(গুলি)> সেই পরিমাণ সময়ের জন্য সেট করা যাবে না।
- tooManyFailedAttempts : দুঃখিত, অনেক ব্যর্থ প্রচেষ্টা। সেই কাজটি সম্পূর্ণ করতে অনুগ্রহ করে আপনার ডিভাইসের অ্যাপে যান।
- transientError : দুঃখিত, <device(গুলি)> নিয়ন্ত্রণ করতে কিছু ভুল হয়েছে। অনুগ্রহপূর্বক আবার চেষ্টা করুন.
- turnedOff , deviceTurnedOff : <device(গুলি)> <is/are> এই মুহূর্তে বন্ধ।
- unableToLocateDevice : আমি <ডিভাইস(গুলি)> সনাক্ত করতে পারিনি।
- unknownFoodPreset : <device(গুলি)> সেই খাদ্য প্রিসেট সমর্থন করে না।
- আনলক ব্যর্থতা : <ডিভাইস(গুলি)> আনলক করা যায়নি।
- unpausableState : <device(গুলি)> এখনই থামানো যাবে না।
- ব্যবহারকারী বাতিল : ঠিক আছে
- valueOutOfRange : <device(গুলি)> সেই তাপমাত্রায় সেট করা যাবে না।
ব্যতিক্রম
কোনো কমান্ডের সাথে সম্পর্কিত কোনো সমস্যা বা সতর্কতা থাকলে আপনাকে একটি ব্যতিক্রম ফেরত দেওয়া উচিত। কমান্ড সফল বা ব্যর্থ হতে পারে.
যদি কমান্ডটি সফল হয় (স্থিতি = "সাফল্য"), 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 ব্যবহার করে অন্য ডিভাইস সম্পর্কে নন-ব্লকিং ব্যতিক্রম (সফল)
এই উদাহরণটি একটি নিরাপত্তা ব্যবস্থাকে সশস্ত্র করার জন্য: ঠিক আছে, নিরাপত্তা ব্যবস্থাকে সশস্ত্র করা। সামনের জানালা খোলা।
{ "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 তৈরি করবে।
- ব্যাগফুল : <ডিভাইস(গুলি)> < আছে> <একটি পূর্ণ ব্যাগ/পূর্ণ ব্যাগ>। দয়া করে খালি করুন <it </them> এবং আবার চেষ্টা করুন।
- binFull : <device(গুলি)> <have> <a full bin/full bins>.
- কার্বন মনোক্সাইড শনাক্ত করা হয়েছে : <হাউসের নাম> এ কার্বন মনোক্সাইড সনাক্ত করা হয়েছে।
- deviceAtExtremeTemperature : <ডিভাইস(গুলি)> </are> <একটি চরম তাপমাত্রা/চরম তাপমাত্রা> এ।
- deviceJamming সনাক্ত করা হয়েছে : <ডিভাইস(গুলি)> <is> জ্যাম।
- deviceMoved : <device(গুলি)> <was/were> সরানো হয়েছে।
- deviceOpen : <device(গুলি)> <is> open.
- device Tampered : <device(গুলি)> <have> এর সাথে টেম্পার করা হয়েছে।
- deviceUnplugged : <device(গুলি)> <is/are> আনপ্লাগড।
- ফ্লোরে পৌঁছানো যায় না : <ডিভাইস(গুলি)> সেই ঘরে পৌঁছাতে পারে না। অনুগ্রহ করে <it </them> ডান তলায় সরান এবং আবার চেষ্টা করুন।
- হার্ডওয়্যার ব্যর্থতা : <ডিভাইস(গুলি)> </have> একটি হার্ডওয়্যার সমস্যা।
- inSoftwareUpdate : <device(গুলি)> <is> বর্তমানে একটি সফ্টওয়্যার আপডেটে আছে।
- isBypassed : <device(গুলি)> <is/are> বর্তমানে বাইপাস করা হয়েছে।
- কম ব্যাটারি : <ডিভাইস(গুলি)> <have> কম ব্যাটারি।
- গতি শনাক্ত করা হয়েছে : <ডিভাইস(গুলি)> <ডিটেক্ট(গুলি)> গতি৷
- needPads : <device(s)> <need(s)> new pads.
- needSoftwareUpdate : <device(s)> <need(s)> একটি সফটওয়্যার আপডেট।
- প্রয়োজন জল : <ডিভাইস(গুলি)> <প্রয়োজন(গুলি)> জল।
- নেটওয়ার্কজ্যামিং সনাক্ত করা হয়েছে : <ডিভাইস(গুলি)> এর সাথে হোম নেটওয়ার্ক সংযোগটি সঠিকভাবে কাজ করছে না।
- noIssuesReported : <device(s)> কোন সমস্যা রিপোর্ট করেছে।
- roomsOnDifferentFloors : <device(s)> সেই কক্ষগুলিতে পৌঁছতে পারে না কারণ সেগুলি বিভিন্ন তলায় রয়েছে৷
- runCycleFinished : <device(গুলি)> <have> চালানো শেষ।
- নিরাপত্তা নিষেধাজ্ঞা : <ডিভাইস(গুলি)> </have> একটি নিরাপত্তা সীমাবদ্ধতা।
- ধোঁয়া শনাক্ত করা হয়েছে : <বাড়ির নাম> এ ধোঁয়া সনাক্ত করা হয়েছে।
- ট্যাঙ্ক খালি : <ডিভাইস(গুলি)> <have> <একটি খালি ট্যাঙ্ক/খালি ট্যাঙ্ক>। অনুগ্রহ করে <it</em> পূরণ করুন এবং আবার চেষ্টা করুন।
- সেলুলার ব্যাকআপ ব্যবহার করে : <ডিভাইস(গুলি)> <is> সেলুলার ব্যাকআপ ব্যবহার করে।
- ওয়াটার লিক সনাক্ত করা হয়েছে : <ডিভাইস(গুলি)> <ডিটেক্ট(গুলি)> একটি জল লিক।
এই দস্তাবেজটি স্মার্ট হোম ডিভাইসগুলির জন্য আনুষ্ঠানিকভাবে-সমর্থিত ত্রুটি এবং ব্যতিক্রমগুলির তালিকা করে৷ অনুগ্রহ করে এই প্রদত্ত ত্রুটি এবং ব্যতিক্রম কোডগুলি উদ্দেশ্য প্রতিক্রিয়া বা বিজ্ঞপ্তিগুলিতে ব্যবহার করুন যদি আপনি এটি প্রয়োগ করে থাকেন, তাই Google সহকারী প্রদত্ত কমান্ড বা ডিভাইসের অবস্থা সম্পর্কিত সমস্যাগুলির জন্য শেষ ব্যবহারকারীদের সতর্ক করে। যদি প্রতিক্রিয়াতে ভুল বিন্যাস বা errorCode
থাকে, গুগল সহকারী ব্যবহারকারীদের একটি সাধারণ ত্রুটি বার্তা দেয়, উদাহরণস্বরূপ, "দুঃখিত, ডিভাইস এখন উপলব্ধ নয়"।
ত্রুটি
কোনো সমস্যার কারণে এক্সিকিউট বা ক্যোয়ারী রিকোয়েস্ট ব্যর্থ হলে আপনার একটি ত্রুটি কোড ফেরত দেওয়া উচিত। উদাহরণস্বরূপ, যদি একটি দরজার লক জ্যাম করা হয় এবং লক বা আনলক করা যায় না, এই অবস্থা সম্পর্কে একটি ত্রুটি ব্যবহারকারীকে ফেরত দেওয়া উচিত।
ত্রুটি কোডগুলি ডিভাইস স্তরে বা বিশ্বস্তরে সংযুক্ত করা যেতে পারে৷ উদাহরণস্বরূপ, যদি একজন ব্যবহারকারীর একটি প্রদানকারীর কাছ থেকে অনেকগুলি আলো থাকে এবং সেগুলি একটি হাব দ্বারা নিয়ন্ত্রিত হয়, যখন ব্যবহারকারী তাদের সমস্ত লাইট বন্ধ করতে বলেন, একটি একক আলো অফলাইনে থাকলে প্রদানকারী একটি ডিভাইস-স্তরের ত্রুটি ফিরিয়ে দিতে পারে, অথবা একটি গ্লোবাল -স্তরের ত্রুটি যদি তাদের সম্পূর্ণ হাব অফলাইনে থাকে এবং কোন আলো নিয়ন্ত্রণ করা যায় না। যদি সমস্ত ডিভাইস অফলাইনে থাকে, তাহলে গ্লোবাল-লেভেল বা ডিভাইস-লেভেলের ত্রুটি ব্যবহার করার মধ্যে কোন পার্থক্য নেই। যখন একটি ডিভাইস অফলাইন থাকে, তখন আপনার রিপোর্ট স্টেটে {"online": false}
অবস্থার রিপোর্ট করা উচিত, এমনকি যদি আপনি deviceOffline
ত্রুটি কোড ফেরত দেন।
সংক্ষেপে:
- বিশ্ব-স্তরের ত্রুটি: প্রতিক্রিয়ার সমস্ত ডিভাইসে একই ত্রুটি রয়েছে
- স্থানীয়-স্তরের ত্রুটি: ত্রুটি এবং সাফল্যের ক্ষেত্রে মিশ্র প্রতিক্রিয়া
বিশ্ব-স্তরের ত্রুটি
নিম্নলিখিত 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 তৈরি করবে।
- উপরে সর্বাধিক আলোক প্রভাবের সময়কাল : এটি সর্বোচ্চ 1 ঘন্টার চেয়ে বেশি। অনুগ্রহপূর্বক আবার চেষ্টা করুন.
- aboveMaximumTimerDuration : আমি শুধুমাত্র <সময়কাল> পর্যন্ত <ডিভাইস(গুলি)> সেট করতে পারি
- actionNotAvailable : দুঃখিত, আমি এখনই তা করতে পারছি না।
- actionUnavailableWhileRunning : <device(s)></are> বর্তমানে চলছে, তাই আমি কোনো পরিবর্তন করতে পারছি না।
- ইতিমধ্যে সশস্ত্র : <device(গুলি)> <is> ইতিমধ্যেই সশস্ত্র।
- alreadyAtMax : <device(গুলি)> <is> ইতিমধ্যেই সর্বোচ্চ তাপমাত্রায় সেট করা আছে।
- alreadyAtMin : <device(গুলি)> <is> ইতিমধ্যেই সর্বনিম্ন তাপমাত্রায় সেট করা আছে।
- ইতিমধ্যে বন্ধ : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই বন্ধ।
- ইতিমধ্যে নিরস্ত্র : <ডিভাইস(গুলি)> <is> ইতিমধ্যেই নিরস্ত্র।
- alreadyDocked : <device(গুলি)> <is/are> ইতিমধ্যে ডক করা হয়েছে।
- alreadyInState : <device(s)> <is/are> already in that state.
- alreadyLocked : <device(s)> <is/are> already locked.
- alreadyOff : <device(s)> <is/are> already off.
- alreadyOn : <device(s)> <is/are> already on.
- alreadyOpen : <device(s)> <is/are> already open.
- alreadyPaused : <device(s)> <is/are> already paused.
- alreadyStarted : <device(s)> <is/are> already started.
- alreadyStopped : <device(s)> <is/are> already stopped.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : Sorry, <device(s)> can't identify which zone you mean. Please make sure your zones have unique names and try again.
- amountAboveLimit : That's more than what <device(s)> can support.
- appLaunchFailed : Sorry, failed to launch <app name> on <device(s)>.
- armFailure : <device(s)> couldn't be armed.
- armLevelNeeded : I'm not sure which level to set <device(s)> to. Try saying "Set <device(s)> to <low security>" or "Set <device(s)> to <high security>"
- authFailure : I can't seem to reach <device(s)>. Try checking the app to make sure your <device/devices> <is/are> fully set up.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
- belowMinimumLightEffectsDuration : That's less than the minimum duration of 5 minutes. Please try again.
- belowMinimumTimerDuration : I can't set <device(s)> for such a short time. Please try again.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : Sorry, I couldn't cancel arming <device(s)>.
- cancelTooLate : Sorry, it's too late to cancel. Use <device(s)> or the app instead.
- channelSwitchFailed : Sorry, failed to switch to channel <channel name>. Please try again later.
- chargerIssue : Sorry, it looks like <device(s)> <has/have> <a charger issue/charger issues>.
- commandInsertFailed : Unable to process commands for <device(s)>.
- deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : The requested degrees are out of range for <device(s)>.
- deviceAlertNeedsAssistance : <device(s)> <has/have> an active alert and <need(s)> your assistance.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceBusy : Sorry, it looks like <device(s)> is already doing something right now.
- deviceCharging : Sorry, it looks like <device(s)> can't do that because (ha_shared.ItsTheyre size=$item.devices.total_device_count) charging.
- deviceClogged : Sorry, it looks like <device(s)> is clogged.
- deviceCurrentlyDispensing : <device(s)> is already dispensing something right now.
- deviceDoorOpen : The door is open on <device(s)>. Please close it and try again.
- deviceHandleClosed : The handle is closed on <device(s)>. Please open it and try again.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceLidOpen : The lid is open on <device(s)>. Please close it and try again.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. Please contact your local service dealer.
- deviceNotDocked : Sorry, it looks like <device(s)> <isn't/aren't> docked. Please dock <it/them> and try again.
- deviceNotFound : <device(s)> <is/are>n't available. You might want to try setting <it/them> up again.
- deviceNotMounted : Sorry, it looks like <device(s)> can't do that because <it/they> <is/are>n't mounted.
- deviceNotReady : <device(s)> <is/are>n't ready.
- deviceStuck : <device(s)> <is/are> stuck and needs your help.
- deviceTampered : <device(s)> <has/have> been tampered with.
- deviceThermalShutdown : Sorry, it looks like <device(s)> shut down due to extreme temperatures.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : <device(s)> couldn't be disarmed.
- discreteOnlyOpenClose : Sorry, <device(s)> can only be opened or closed all the way.
- dispenseAmountAboveLimit : <device(s)> can't dispense such a large amount.
- dispenseAmountBelowLimit : <device(s)> can't dispense such a small amount.
- dispenseAmountRemainingExceeded : <device(s)> doesn't have enough <dispense item> to do that.
- dispenseFractionalAmountNotSupported : <device(s)> can't dispense fractions of <dispense item>.
- dispenseFractionalUnitNotSupported : <device(s)> doesn't support fractions of that unit for <dispense item>.
- dispenseUnitNotSupported : <device(s)> doesn't support that unit for <dispense item>.
- doorClosedTooLong : It's been a while since the door on <device(s)> has been opened. Please open the door, make sure there's something inside, and try again.
- emergencyHeatOn : <device(s)> <is/are> in Emergency Heat Mode, so <it/they>'ll have to be adjusted by hand.
- faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
- floorUnreachable : <device(s)> can't reach that room. Please move <it/them> to the right floor and try again.
- functionNotSupported : Actually, <device(s)> <doesn't/don't> support that functionality.
- genericDispenseNotSupported : I need to know what you would like to dispense. Please try again with the name of the item.
- hardError : Sorry, something went wrong and I'm unable to control your home device.
- hardError : Sorry, something went wrong and I'm unable to control your home device.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inAwayMode : <device(s)> <is/are> currently set to away mode. To control your thermostat, you'll need to manually switch it to home mode using the Nest app on a phone, tablet, or computer.
- inDryMode : <device(s)> <is/are> currently set to dry mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inEcoMode : <device(s)> <is/are> currently set to eco mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : <device(s)> <is/are> currently set to humidifier mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inOffMode : <device(s)> <is/are> currently off. To change the temperature, you'll need to switch <it/them> to a different mode.
- inPurifierMode : <device(s)> <is/are> currently set to purifier mode. To change the temperature, you'll need to switch <it/them> to a different mode.
- inSleepMode : <device(s)> <is/are> in sleep mode. Please try again later.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- lockFailure : <device(s)> couldn't be locked.
- lockedState : <device(s)> <is/are> currently locked.
- lockedToRange : That temperature is outside the locked range on <device(s)>.
- lowBattery : <device(s)> <has/have> low battery.
- maxSettingReached : <device(s)> <is/are> already set to the highest setting.
- maxSpeedReached : <device(s)> <is/are> already set to the maximum speed.
- minSettingReached : <device(s)> <is/are> already set to the lowest setting.
- minSpeedReached : <device(s)> <is/are> already set to the minimum speed.
- monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> connection to the monitoring service.
- needsAttachment : Sorry, it looks like <device(s)> <is/are> missing a required attachment. Please replace it and try again.
- needsBin : Sorry, it looks like <device(s)> <is/are> missing a bin. Please replace it and try again.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkProfileNotRecognized : Sorry, I don't recognize "<network profile>" on <device(s)>.
- networkSpeedTestInProgress : I'm already testing the <network> <speed/speeds>>.
- noAvailableApp : Sorry, it looks like <app name> isn't available.
- noAvailableChannel : Sorry, it looks like channel <channel name> isn't available.
- noChannelSubscription : Sorry, you aren't subscribed to channel <channel name> at the moment.
- noTimerExists : Sorry, it looks like there aren't any timers set on <device(s)>.
- notSupported : Sorry, that mode isn't available for <device(s)>.
- obstructionDetected : <device(s)> detected an obstruction.
- offline , deviceOffline : Sorry, it looks like <device(s)> <is/are>n't available right now.
- onRequiresMode : Please specify which mode you want to turn on.
- passphraseIncorrect : Sorry, it looks like that PIN is incorrect.
- percentOutOfRange : Sorry, I can't set <device(s)> to <percent>.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : I didn't open <device(s)> because rain was detected.
- rangeTooClose : Those are too close for a Heat-Cool range for <device(s)>. Choose temperatures that are farther apart.
- relinkRequired : Sorry, it looks like something went wrong with your account. Please use your Google Home or Assistant App to re-link <device(s)>.
- remoteSetDisabled :
- Optional parameter
errorCodeReason
-
currentlyArmed
- Sorry, since security is already armed, you need to use <device(s)> or the app to make any changes. -
remoteUnlockNotAllowed
- Sorry, I can't unlock <device(s)> remotely. -
remoteControlOff
- That action is currently disabled. Please enable remote control on <device(s)> and try again. -
childSafetyModeActive
- That action is disabled for <device(s)> while child safety mode is active.
- Optional parameter
- roomsOnDifferentFloors : <device(s)> can't reach those rooms because they're on different floors.
- safetyShutOff : <device(s)> <is/are> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
- sceneCannotBeApplied : Sorry, <device(s)> can't be applied.
- securityRestriction : <device(s)> <has/have> a security restriction.
- softwareUpdateNotAvailable : Sorry, there's no software update available on <device(s)>.
- startRequiresTime : To do that, you'll need to tell me how long you'd like to run <device(s)>.
- stillCoolingDown : <device(s)> <is/are> still cooling down.
- stillWarmingUp : <device(s)> <is/are> still warming up.
- streamUnavailable : Sorry, it looks like the stream is currently unavailable from <device(s)>.
- streamUnplayable : Sorry, I can't play the stream from <device(s)> at the moment.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAlreadyReached : Sorry, it looks like that's already the current temperature.
- timerValueOutOfRange : <device(s)> can't be set for that amount of time.
- tooManyFailedAttempts : Sorry, too many failed attempts. Please go to your device's app to complete that action.
- transientError : Sorry, something went wrong controlling <device(s)>. Please try again.
- turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
- unableToLocateDevice : I wasn't able to locate <device(s)>.
- unknownFoodPreset : <device(s)> doesn't support that food preset.
- unlockFailure : <device(s)> couldn't be unlocked.
- unpausableState : <device(s)> can't be paused right now.
- userCancelled : ok
- valueOutOfRange : <device(s)> can't be set to that temperature.
Exceptions
You should return an exception when there is an issue or alert associated with a command. The command could succeed or fail.
If the command was successful (status = "SUCCESS"), report exceptions using the StatusReport
trait (for devices other than the target), or by returning an appropriate exceptionCode
(for the target device).
For example, if the dryer lint screen is full the user can still start their dryer, but you may want to warn them about this state. Similarly, when a device has a low battery that is not empty, you can still execute a command but should let them know that the device battery is low.
If the command fails due to exceptions, the status should be "EXCEPTIONS", and the exceptions should be reported using the StatusReport
trait.
Non-blocking exception (SUCCESS) about target device
This example is for locking the door:
The front door lock has low battery. Locking the front door.
{ "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" } }] } }
Non-blocking exception (SUCCESS) about another device using StatusReport
This example is for arming a security system: Ok, arming the security system. The front window is open.
{ "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" }] } }] } }
Blocking exception about another device using 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" } ] } } } }
Exception list
The following exceptions will produce the associated TTS on the device.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : Carbon monoxide has been detected in <house name>.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceMoved : <device(s)> <was/were> moved.
- deviceOpen : <device(s)> <is/are> open.
- deviceTampered : <device(s)> <has/have> been tampered with.
- deviceUnplugged : <device(s)> <is/are> unplugged.
- floorUnreachable : <device(s)> can't reach that room. Please move <it/them> to the right floor and try again.
- hardwareFailure : <device(s)> <has/have> a hardware problem.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- isBypassed : <device(s)> <is/are> currently bypassed.
- lowBattery : <device(s)> <has/have> low battery.
- motionDetected : <device(s)> <detect(s)> motion.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkJammingDetected : the home network connection to <device(s)> isn't working properly.
- noIssuesReported : <device(s)> reported no issues.
- roomsOnDifferentFloors : <device(s)> can't reach those rooms because they're on different floors.
- runCycleFinished : <device(s)> <has/have> finished running.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : Smoke has been detected in <house name>.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- usingCellularBackup : <device(s)> <is/are> using cellular backup.
- waterLeakDetected : <device(s)> <detect(s)> a water leak.