इस दस्तावेज़ में, स्मार्ट होम डिवाइसों के लिए आधिकारिक तौर पर इस्तेमाल की जा सकने वाली गड़बड़ियों और अपवादों की सूची दी गई है. कृपया इंटेंट रिस्पॉन्स में दिए गए इन गड़बड़ियों और अपवादों के कोड का इस्तेमाल करें. अगर आपने इसे लागू किया है, तो सूचनाओं में भी इनका इस्तेमाल करें. इससे Google Assistant, असली उपयोगकर्ताओं को किसी निर्देश या डिवाइस की स्थिति से जुड़ी समस्याओं के बारे में सूचनाएं भेज पाएगी. अगर जवाब में गलत फ़ॉर्मैटिंग या errorCode
शामिल है, तो Google Assistant लोगों को गड़बड़ी का सामान्य मैसेज दिखाती है. उदाहरण के लिए, "माफ़ करें, डिवाइस अभी उपलब्ध नहीं है".
गड़बड़ियां
जब किसी समस्या की वजह से, execute या query अनुरोध पूरा नहीं हो पाता है, तब आपको गड़बड़ी का कोड दिखाना चाहिए. उदाहरण के लिए, अगर दरवाज़े का लॉक जाम हो गया है और उसे लॉक या अनलॉक नहीं किया जा सकता, तो उपयोगकर्ता को इस स्थिति के बारे में गड़बड़ी का मैसेज दिखना चाहिए.
गड़बड़ी के कोड, डिवाइस लेवल या ग्लोबल लेवल पर जोड़े जा सकते हैं. उदाहरण के लिए, अगर किसी उपयोगकर्ता के पास एक ही कंपनी की कई लाइटें हैं और उन्हें किसी हब से कंट्रोल किया जाता है, तो सभी लाइटें बंद करने का अनुरोध करने पर, कंपनी डिवाइस लेवल पर गड़बड़ी का मैसेज दिखा सकती है. ऐसा तब होता है, जब कोई एक लाइट ऑफ़लाइन हो. इसके अलावा, अगर पूरा हब ऑफ़लाइन है और किसी भी लाइट को कंट्रोल नहीं किया जा सकता, तो कंपनी ग्लोबल लेवल पर गड़बड़ी का मैसेज दिखा सकती है. अगर सभी डिवाइस ऑफ़लाइन हैं, तो ग्लोबल-लेवल या डिवाइस-लेवल की गड़बड़ियों का इस्तेमाल करने में कोई अंतर नहीं होता.
सारांश में:
- ग्लोबल लेवल की गड़बड़ी: जवाब में मौजूद सभी डिवाइसों में एक ही गड़बड़ी है
- स्थानीय स्तर पर गड़बड़ी: गड़बड़ी और सफलता के मामलों के साथ मिला-जुला जवाब
ग्लोबल-लेवल की गड़बड़ियां
यहां दिए गए 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" } } } }
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" } } } } } } }
गड़बड़ियों की सूची
यहां दी गई गड़बड़ियों की वजह से, डिवाइस पर टीटीएस की सुविधा काम नहीं करेगी.
- aboveMaximumLightEffectsDuration : ज़्यादा से ज़्यादा एक घंटे की जो तय सीमा है, यह उससे भी ज़्यादा है. कृपया फिर से कोशिश करें.
- aboveMaximumTimerDuration : I can only set <device(s)> for up to <time period>
- actionNotAvailable : माफ़ करें, अभी मैं ऐसा नहीं कर पाऊँगी.
- actionUnavailableWhileRunning : फ़िलहाल, <device(s)> चालू है, इसलिए मैं कोई बदलाव नहीं कर सकती.
- alreadyArmed : <device(s)> <is/are> already armed.
- alreadyAtMax : <device(s)> <is/are> already set to the maximum temperature.
- alreadyAtMin : <device(s)> <is/are> already set to the minimum temperature.
- alreadyClosed : <device(s)> <is/are> already closed.
- alreadyDisarmed : <device(s)> <is/are> already disarmed.
- alreadyDocked : <device(s)> <is/are> already docked.
- 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 : माफ़ करें, <device(s)> आपकी बताई गई जगह को नहीं पहचान पाया. कृपया, हर जगह को एक ख़ास नाम दें और फिर से कोशिश करें.
- amountAboveLimit : यह <device(s)> की क्षमता से ज़्यादा है.
- appLaunchFailed : माफ़ करें, <device(s)> पर <app name> लॉन्च नहीं किया जा सका.
- 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>. Please empty <it/them> and try again.
- 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)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : <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 : माफ़ करें, ऐसा लगता है कि <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> jammed.
- deviceLidOpen : <device(s)> का ढक्कन खुला है. कृपया इसे बंद करें और फिर से कोशिश करें.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. कृपया डिवाइस ठीक करने की सेवा देने वाले स्थानीय व्यक्ति या कंपनी से संपर्क करें.
- deviceNotDocked : माफ़ करें, ऐसा लगता है कि <device(s)> डॉक नहीं किया गया है. कृपया <it/them> को डॉक करें और फिर से कोशिश करें.
- deviceNotFound : <device(s)> <is/are>n't available. <it/them> को फिर से सेट अप किया जा सकता है.
- deviceNotMounted : माफ़ करें, ऐसा लगता है कि <device(s)> यह नहीं कर सकता, क्योंकि <it/they> <is/are>n't माउंट नहीं किया गया है.
- 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 : माफ़ करें, ऐसा लगता है कि <device(s)> बहुत ज़्यादा तापमान होने की वजह से बंद हो गया है.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : <device(s)> को बंद नहीं किया जा सका.
- discreteOnlyOpenClose : माफ़ करें, <device(s)> सिर्फ़ पूरी तरह से बंद हो सकता है या खुल सकता है.
- dispenseAmountAboveLimit : <device(s)> से इतनी ज़्यादा मात्रा में खाना नहीं दिया जा सकता.
- dispenseAmountBelowLimit : <device(s)> से इतनी कम मात्रा में खाना नहीं दिया जा सकता.
- dispenseAmountRemainingExceeded : <device(s)> के पास <dispense item> की उतनी मात्रा नहीं है.
- dispenseFractionalAmountNotSupported : <device(s)> can't dispense fractions of <dispense item>.
- dispenseFractionalUnitNotSupported : <device(s)> से, <dispense item> की इतनी मात्रा को कई हिस्सों में नहीं दिया जा सकता.
- dispenseUnitNotSupported : <device(s)> पर <dispense item> के लिए, उस यूनिट का इस्तेमाल नहीं किया जा सकता.
- doorClosedTooLong : <device(s)> का दरवाज़ा काफ़ी समय से बंद है. कृपया दरवाज़ा खोलकर देख लें कि स्मार्ट डिवाइस में कुछ रखा हो और फिर से कोशिश करें.
- 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)> उस कमरे तक नहीं पहुँच सकता. कृपया <it/them> को सही फ़्लोर पर ले जाएँ और फिर से कोशिश करें.
- functionNotSupported : दरअसल, <device(s)> <doesn't/don't> support that functionality.
- genericDispenseNotSupported : मुझे यह जानना है कि आपको क्या निकालना है. कृपया आइटम का नाम बताएँ और फिर से कोशिश करें.
- hardError : माफ़ करें, कोई गड़बड़ी हुई है. मैं आपके होम से जुड़े डिवाइस को कंट्रोल नहीं कर पा रही हूँ.
- hardError : माफ़ करें, कोई गड़बड़ी हुई है. मैं आपके होम से जुड़े डिवाइस को कंट्रोल नहीं कर पा रही हूँ.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inAwayMode : <device(s)> <is/are> currently set to away mode. अपना थर्मोस्टैट कंट्रोल करने के लिए, आपको किसी फ़ोन, टैबलेट या कंप्यूटर पर Nest ऐप्लिकेशन का इस्तेमाल करके इसे मैन्युअल रूप से होम मोड में बदलना होगा.
- inDryMode : <device(s)> <is/are> currently set to dry mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inEcoMode : <device(s)> <is/are> currently set to eco mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : <device(s)> <is/are> currently set to humidifier mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inOffMode : फ़िलहाल, <device(s)> बंद है. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inPurifierMode : <device(s)> <is/are> currently set to purifier mode. तापमान बदलने के लिए, आपको <it/them> को किसी और मोड पर स्विच करना होगा.
- inSleepMode : <device(s)> <is/are> in sleep mode. कृपया बाद में कोशिश करें.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- lockFailure : <device(s)> को लॉक नहीं किया जा सका.
- lockedState : <device(s)> <is/are> currently locked.
- lockedToRange : यह तापमान <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 : माफ़ करें, ऐसा लगता है कि <device(s)> <is/are> missing a required attachment. कृपया इसे बदलें और फिर से कोशिश करें.
- needsBin : माफ़ करें, ऐसा लगता है कि <device(s)> में बिन नहीं है. कृपया इसे बदलें और फिर से कोशिश करें.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkProfileNotRecognized : माफ़ करें, मुझे <device(s)> पर "<network profile>" की जानकारी नहीं है.
- networkSpeedTestInProgress : I'm already testing the <network> <speed/speeds>>.
- noAvailableApp : माफ़ करें, ऐसा लगता है कि <app name> उपलब्ध नहीं है.
- noAvailableChannel : माफ़ करें, ऐसा लगता है कि <channel name> चैनल उपलब्ध नहीं है.
- noChannelSubscription : माफ़ करें, फ़िलहाल आपके पास <channel name> चैनल की सदस्यता नहीं है.
- noTimerExists : माफ़ करें, ऐसा लगता है कि <device(s)> पर कोई टाइमर सेट नहीं है.
- notSupported : माफ़ करें, यह मोड <device(s)> के लिए उपलब्ध नहीं है.
- obstructionDetected : <device(s)> detected an obstruction.
- offline , deviceOffline : माफ़ करें, लगता है कि <device(s)> <is/are>n't अभी उपलब्ध नहीं है.
- 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> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
- sceneCannotBeApplied : माफ़ करें, <device(s)> पर सीन लागू नहीं किया जा सकता.
- securityRestriction : <device(s)> <has/have> a security restriction.
- softwareUpdateNotAvailable : माफ़ करें, <device(s)> के लिए कोई सॉफ़्टवेयर अपडेट उपलब्ध नहीं है.
- startRequiresTime : ऐसा करने के लिए, आपको मुझे बताना होगा कि <device(s)> कितनी देर तक चलाना है.
- stillCoolingDown : <device(s)> <is/are> still cooling down.
- stillWarmingUp : <device(s)> <is/are> still warming up.
- streamUnavailable : माफ़ करें, ऐसा लगता है कि इस समय <device(s)> से स्ट्रीम उपलब्ध नहीं है.
- streamUnplayable : माफ़ करें, फ़िलहाल मैं <device(s)> से स्ट्रीम नहीं चला सकती.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAlreadyReached : माफ़ करें, ऐसा लगता है कि मौजूदा तापमान यही है.
- timerValueOutOfRange : <device(s)> को इतने समय के लिए सेट नहीं किया जा सकता.
- tooManyFailedAttempts : माफ़ करें, आपने कई बार कोशिश की है. कृपया उस कार्रवाई को पूरा करने के लिए अपने डिवाइस के ऐप्लिकेशन पर जाएँ.
- transientError : माफ़ करें, <device(s)> को कंट्रोल करते समय कोई गड़बड़ी हुई. कृपया फिर से कोशिश करें.
- turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
- unableToLocateDevice : मुझे <device(s)> नहीं मिला.
- unknownFoodPreset : <device(s)> पर, खाना बनाने का यह प्रीसेट काम नहीं करता.
- unlockFailure : <device(s)> को अनलॉक नहीं किया जा सका.
- unpausableState : <device(s)> को अभी रोका नहीं जा सकता.
- userCancelled : ok
- valueOutOfRange : <device(s)> को इस तापमान पर सेट नहीं किया जा सकता.
ऑनलाइन और ऑफ़लाइन स्थिति की रिपोर्टिंग
जब कोई डिवाइस ऑफ़लाइन हो, तब आपको डिवाइस के व्यवहार के पांच मिनट के अंदर, Report State को <code{"online": code="" dir="ltr" false}<="" translate="no"> रिपोर्ट करना चाहिए. इसके उलट, जब कोई डिवाइस ऑनलाइन हो जाता है, तो आपको डिवाइस के व्यवहार के पांच मिनट के अंदर, Report State को <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": {},
}
}
}
अपवाद
किसी कमांड से जुड़ी समस्या या सूचना होने पर, आपको एक अपवाद दिखाना चाहिए. यह कमांड काम कर सकती है या नहीं भी कर सकती.
अगर कमांड पूरी हो गई है (status = "SUCCESS"), तो टारगेट डिवाइस के अलावा अन्य डिवाइसों के लिए, StatusReport
ट्रेट का इस्तेमाल करके अपवादों की जानकारी दें. इसके अलावा, टारगेट डिवाइस के लिए सही exceptionCode
वैल्यू भेजकर भी अपवादों की जानकारी दी जा सकती है.
उदाहरण के लिए, अगर ड्रायर की लिंट स्क्रीन भरी हुई है, तो उपयोगकर्ता अब भी ड्रायर को चालू कर सकता है. हालांकि, आपको उसे इस बारे में चेतावनी देनी चाहिए. इसी तरह, जब किसी डिवाइस की बैटरी कम हो, लेकिन पूरी तरह से खत्म न हुई हो, तब भी कोई निर्देश दिया जा सकता है. हालांकि, आपको उन्हें यह बताना चाहिए कि डिवाइस की बैटरी कम है.
अगर अपवादों की वजह से कमांड पूरी नहीं होती है, तो स्थिति "EXCEPTIONS" होनी चाहिए. साथ ही, StatusReport
ट्रेट का इस्तेमाल करके अपवादों की जानकारी दी जानी चाहिए.
टारगेट डिवाइस के बारे में नॉन-ब्लॉकिंग अपवाद (SUCCESS)
दरवाज़े को लॉक करने का उदाहरण यहां दिया गया है:
सामने के दरवाज़े के लॉक की बैटरी कम है. सामने का दरवाज़ा बंद कर रही हूँ.
{ "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" } ] } } } }
अपवादों की सूची
इन अपवादों के लिए, डिवाइस पर टीटीएस की सुविधा काम करेगी.
- 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 : <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)> उस कमरे तक नहीं पहुँच सकता. कृपया <it/them> को सही फ़्लोर पर ले जाएँ और फिर से कोशिश करें.
- 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 : <device(s)> पर, होम नेटवर्क का कनेक्शन ठीक से काम नहीं कर रहा है.
- noIssuesReported : <device(s)> ने कोई समस्या रिपोर्ट नहीं की है.
- roomsOnDifferentFloors : <device(s)> उन कमरों तक नहीं पहुँच सकता, क्योंकि वे अलग-अलग मंज़िलों पर हैं.
- runCycleFinished : <device(s)> <has/have> finished running.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : <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.