गड़बड़ियां और अपवाद

इस दस्तावेज़ में, स्मार्ट होम डिवाइसों के लिए आधिकारिक तौर पर काम करने वाली गड़बड़ियों और अपवादों की सूची दी गई है. कृपया इंटेंट के जवाब में या सूचनाओं में, गड़बड़ी और अपवाद के लिए दिए गए इन कोड का इस्तेमाल करें. ऐसा तब करें, जब आपने इसे लागू किया हो. इससे 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"
      }
    }
  }
}

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 : मैं <device(s)> को सिर्फ़ <time period> की समयावधि के लिए सेट कर सकती हूँ
  • actionNotAvailable : माफ़ करें, अभी मैं ऐसा नहीं कर पाऊँगी. सलाह: फ़ुलफ़िलमेंट में, डिवाइस की विशेषताओं और मौजूदा स्थिति के लॉजिक की पुष्टि करें.
  • actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
  • alreadyArmed : <device(s)> <is/are> already armed.
  • alreadyAtMax : <device(s)> का तापमान पहले से ही सबसे ज़्यादा पर सेट है.
  • alreadyAtMin : <device(s)> पहले से ही सबसे कम तापमान पर सेट <is/are>.
  • 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> पहले से ही बंद है/हैं.
  • 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> पहले से ही अनलॉक है/हैं.
  • 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> पूरी तरह सेट अप हो गया है या नहीं.
  • 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)> के <चार्जर में कोई समस्या है/चार्जर में समस्याएं हैं>. अहम जानकारी: पार्टनर को हार्डवेयर-लेवल की टेलीमेट्री और बैटरी की परफ़ॉर्मेंस की जांच करनी चाहिए.
  • commandInsertFailed : <device(s)> के लिए कमांड प्रोसेस नहीं किए जा सके. सलाह: डेटाबेस में डेटा सेव करने की परफ़ॉर्मेंस या इंटरनल कमांड की सूची बनाने के लॉजिक की जांच करें.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : <device(s)> को जिस डिग्री पर सेट करने का अनुरोध किया गया है वह सीमा से ज़्यादा है.
  • deviceAlertNeedsAssistance : <device(s)> पर एक गतिविधि की सूचना चालू है और <has/have> <need(s)> को आपकी मदद चाहिए.
  • 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)> को रिपेयर करने की ज़रूरत है. कृपया अपने स्थानीय सर्विस डीलर से संपर्क करें.
  • deviceNotDocked : माफ़ करें, ऐसा लगता है कि <device(s)> को डॉक नहीं किया गया है. कृपया <इसे/इन्हें> डॉक करें और फिर से कोशिश करें.
  • deviceNotFound : <device(s)> <is/are>n't available. <it/them> फिर से सेट अप करने की कोशिश करें. अहम जानकारी: पक्का करें कि आपका बैकएंड, होम ग्राफ़ को हमेशा सिंक करके रखे. requestSync को कॉल करें,जब भी डिवाइस जोड़े या हटाए जाएं.
  • deviceNotMounted : माफ़ करें, ऐसा लगता है कि <device(s)> यह काम नहीं कर सकता/सकते, क्योंकि <it/they> <is/are> माउंट नहीं किया गया/किए गए हैं.
  • deviceNotReady : <device(s)> <is/are>n't ready.
  • deviceStuck : <device(s)> <is/are> अटक गया है और उसे आपकी मदद की ज़रूरत है.
  • deviceTampered : <device(s)> <has/have> के साथ छेड़छाड़ की गई है.
  • 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)> <dispense item> को फ़्रैक्शन में नहीं निकाल सकता.
  • dispenseFractionalUnitNotSupported : <device(s)> से, <dispense item> की इतनी मात्रा को कई हिस्सों में नहीं दिया जा सकता.
  • dispenseUnitNotSupported : <device(s)> पर <dispense item> के लिए, इस यूनिट का इस्तेमाल नहीं किया जा सकता.
  • doorClosedTooLong : <device(s)> का दरवाज़ा काफ़ी समय से बंद है. कृपया दरवाज़ा खोलकर देख लें कि स्मार्ट डिवाइस में कुछ रखा हो और फिर से कोशिश करें.
  • emergencyHeatOn : <device(s)> <is/are> गर्म करने के आपातकालीन मोड में <is/are>, इसलिए <it/they> को मैन्युअल तरीके से अडजस्ट करना होगा.
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : <device(s)> उस कमरे तक नहीं पहुँच सकता. कृपया <इसे/इन्हें> सही मंज़िल पर ले जाएँ और फिर से कोशिश करें.
  • functionNotSupported : दरअसल, <device(s)> में वह फ़ंक्शन काम नहीं करता. सलाह: पक्का करें कि SYNC रिस्पॉन्स में, डिवाइस की क्षमताओं के बारे में सटीक जानकारी दी गई हो.
  • 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)> को फ़िलहाल, ड्राई मोड पर सेट किया गया है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inEcoMode : <device(s)> <is/are> फ़िलहाल, ईको मोड पर सेट है/हैं. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inFanOnlyMode : <device(s)> <is/are> को फ़िलहाल, सिर्फ़ पंखा मोड पर सेट किया गया है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
  • inHumidifierMode : <device(s)> फ़िलहाल, ह्यूमिडिफ़ायर मोड पर सेट <is/are>. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inOffMode : <device(s)> फ़िलहाल बंद <is/are>. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inPurifierMode : <device(s)> <is/are> currently set to purifier mode. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inSleepMode : <device(s)> <is/are> स्लीप मोड में है/हैं. कृपया बाद में कोशिश करें.
  • 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)> की एक ज़रूरी ऐक्सेसरी मौजूद नहीं है. कृपया इसे बदलें और फिर से कोशिश करें.
  • needsBin : माफ़ करें, लगता है कि <device(s)> में बिन नहीं है. कृपया इसे बदलें और फिर से कोशिश करें.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> को सॉफ़्टवेयर अपडेट की ज़रूरत है.
  • needsWater : <device(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)> अभी उपलब्ध नहीं <is/are>.
  • 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)> <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)> से स्ट्रीम नहीं कर सकती. सलाह: WebRTC/HLS सिग्नल की पुष्टि करें और पक्का करें कि स्ट्रीम का यूआरएल मान्य हो.
  • 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)> को उस तापमान पर सेट नहीं किया जा सकता.

ऑनलाइन और ऑफ़लाइन स्थिति की रिपोर्टिंग

जब कोई डिवाइस ऑफ़लाइन हो, तो आपको डिवाइस के व्यवहार के पांच मिनट के अंदर, <code{"online": code="" dir="ltr" false}<="" translate="no"> को Report State पर रिपोर्ट करना चाहिए. इसके उलट, जब कोई डिवाइस ऑनलाइन स्थिति में वापस आता है, तो आपको डिवाइस के व्यवहार के पांच मिनट के अंदर, <code{"online": code="" dir="ltr" translate="no" true}<=""> को Report State पर रिपोर्ट करना चाहिए. जब भी कोई डिवाइस फिर से ऑनलाइन आता है, तो पार्टनर को reportStateAndNotification एपीआई का इस्तेमाल करके, डिवाइस की सभी मौजूदा स्थितियों की जानकारी देनी चाहिए. इस उदाहरण से पता चलता है कि light डिवाइस टाइप ऑनलाइन है और डिवाइस की सभी मौजूदा स्थितियों की जानकारी देता है.
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

अपवाद

किसी निर्देश से जुड़ी कोई समस्या या चेतावनी होने पर, आपको एक अपवाद दिखाना चाहिए. निर्देश पूरा हो सकता है या नहीं.

अगर निर्देश पूरा हो गया है (स्टेटस = "SUCCESS"), तो StatusReport trait (टारगेट के अलावा अन्य डिवाइसों के लिए) का इस्तेमाल करके या सही 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"
          }
        ]
      }
    }
  }
}

अपवाद सूची

यहां दिए गए अपवादों की वजह से, डिवाइस पर टीटीएस की सुविधा काम करेगी.

  • 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> 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> के साथ छेड़छाड़ की गई है.
  • deviceUnplugged : <device(s)> <is/are> unplugged.
  • floorUnreachable : <device(s)> उस कमरे तक नहीं पहुँच सकता. कृपया <it/them> सही मंज़िल पर ले जाएँ और फिर से कोशिश करें.
  • hardwareFailure : <device(s)> में हार्डवेयर की समस्या है.
  • 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)> को नए पैड की ज़रूरत है.
  • needsSoftwareUpdate : <device(s)> <need(s)> को सॉफ़्टवेयर अपडेट की ज़रूरत है.
  • needsWater : <device(s)> को पानी की ज़रूरत है.
  • 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)> को पानी के रिसाव का पता चला.
</code{"online":></code{"online":>