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

इस दस्तावेज़ में स्मार्ट होम डिवाइसों के लिए आधिकारिक तौर पर मंज़ूर की गई गड़बड़ियों और अपवादों की सूची दी गई है. कृपया इन गड़बड़ियों और अपवादों के कोड का इस्तेमाल इंटेंट के जवाब में या अगर आपने इन्हें लागू किया है, तो सूचनाओं में करें. इससे Google Assistant, असली उपयोगकर्ताओं को दिए गए निर्देश या डिवाइस की स्थिति से जुड़ी समस्याओं के बारे में चेतावनी देती है. अगर जवाब में गलत फ़ॉर्मैटिंग मौजूद है या errorCode, तो Google Assistant उपयोगकर्ताओं को एक सामान्य गड़बड़ी का मैसेज देती है. उदाहरण के लिए, "माफ़ करें, डिवाइस अभी उपलब्ध नहीं है".

गड़बड़ियां

जब किसी समस्या की वजह से, एक्ज़ीक्यूट करने या क्वेरी का अनुरोध पूरा नहीं हो पाता है, तो आपको गड़बड़ी का कोड दिखाना चाहिए. उदाहरण के लिए, अगर दरवाज़े का लॉक जाम हो गया हो और इसे लॉक या अनलॉक नहीं किया जा सकता हो, तो उपयोगकर्ता को इस स्थिति से जुड़ी गड़बड़ी की जानकारी देनी चाहिए.

गड़बड़ी के कोड, डिवाइस के लेवल या ग्लोबल लेवल पर अटैच किए जा सकते हैं. उदाहरण के लिए, अगर किसी उपयोगकर्ता के पास एक सेवा देने वाली कंपनी की कई लाइटें हैं और उन्हें किसी हब से कंट्रोल किया जाता है, तो जब कोई उपयोगकर्ता अपनी सभी लाइटें बंद करने के लिए कहता है, तब सेवा देने वाली कंपनी को डिवाइस लेवल की गड़बड़ी दिख सकती है. ऐसा तब होगा, जब एक लाइट ऑफ़लाइन हो. इसके अलावा, अगर उनका पूरा हब ऑफ़लाइन है और किसी लाइट को कंट्रोल नहीं किया जा सकता, तो ग्लोबल लेवल की गड़बड़ी दिख सकती है. अगर सभी डिवाइस ऑफ़लाइन हैं, तो ग्लोबल लेवल या डिवाइस लेवल की गड़बड़ियों का इस्तेमाल करने के बीच कोई अंतर नहीं है. जब कोई डिवाइस ऑफ़लाइन होता है, तो आपको reportState में {"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"
            }
          }
        }
      }
    }
  }
}

गड़बड़ी सूची

नीचे दी गई गड़बड़ियों की वजह से, डिवाइस पर उससे जुड़े टीटीएस बन जाएंगे.

  • ज़्यादा लाइटइफ़ेक्ट की अवधि : यह एक घंटे की ज़्यादा से ज़्यादा अवधि से ज़्यादा है. कृपया फिर से कोशिश करें.
  • moremaxTimerDuration : मैं <device(s)> को सिर्फ़ <timeperiod> के लिए सेट कर सकता/सकती हूं
  • ActionNotAvailable : माफ़ करें, फ़िलहाल मेरे पास यह करने का विकल्प नहीं है.
  • actionUnavailableWhileRun : <device(s)> <is/are> इस समय चल रहा है, इसलिए मैं कोई बदलाव नहीं कर सकता.
  • पहले से ही चालू है : <device(s)> <is/are> पहले से ही चालू है.
  • पहले से ही AtMax : <device(s)> <is/are> को पहले से ही ज़्यादा से ज़्यादा तापमान पर सेट किया गया है.
  • beforeAtMin : <device(s)> <is/are> को पहले से ही सबसे कम तापमान पर सेट किया गया है.
  • पहले ही बंद है : <device(s)> <is/are> पहले से बंद है.
  • पहले से ही बंद है : <device(s)> <is/are> पहले से ही बंद है.
  • पहले ही डॉक किया गया है : <device(s)> <is/are> को पहले ही डॉक किया जा चुका है.
  • beforeInState : <device(s)> <is/are> पहले से उस स्थिति में है.
  • पहले से लॉक है : <device(s)> <is/are> पहले से लॉक है.
  • पहले से बंद है : <device(s)> <is/are> पहले से बंद है.
  • पहले से चालू है : <device(s)> <is/are> पहले से चालू है.
  • पहले से खुला है : <device(s)> <is/are> पहले से खुला है.
  • पहले ही रोका जा चुका है : <device(s)> <is/are> पहले से ही रुका हुआ है.
  • पहले ही चालू है : <device(s)> <is/are> पहले ही चालू हो चुका है.
  • पहले ही बंद हो चुका है : <device(s)> <is/are> पहले से बंद है.
  • पहले से अनलॉक है : <device(s)> <is/are> पहले से अनलॉक है.
  • ambiguousZoneName : माफ़ करें, <device(s)> आपका मतलब नहीं समझ सका. कृपया पक्का करें कि आपके ज़ोन के नाम एक जैसे हैं. इसके बाद, फिर से कोशिश करें.
  • amountAboveLimit : यह <device(s)> पर काम करने के लिए उपलब्ध नहीं है.
  • applaunchFailed : माफ़ करें, <device(s)> पर <app name> को लॉन्च नहीं किया जा सका.
  • ArmFailure : <device(s)> को चालू नहीं किया जा सका.
  • आर्मलेवल की ज़रूरत है : मुझे पक्के तौर पर नहीं पता कि <device(s)> को किस लेवल पर सेट करना है. "<device(s)> को <low safety> पर सेट करो" या "<device(s)> को <high safety> पर सेट करो" बोलकर देखें
  • authFailure : मुझे <device(s)> से कनेक्ट नहीं हो रहा है. ऐप की जांच करके देखें कि <device/devices> <is/are> पूरी तरह से सेट अप हो गया है.
  • bagFull : <device(s)> <has/have> <a free bag/fullbag>. कृपया <it/them> खाली करें और फिर से कोशिश करें.
  • कम से कम रोशनी वाले इफ़ेक्ट की अवधि : यह कम से कम पांच मिनट की अवधि से कम है. कृपया फिर से कोशिश करें.
  • कम से कम टाइमर अवधि : मैं इतने कम समय के लिए <device(s)> को सेट नहीं कर सकती. कृपया फिर से कोशिश करें.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingपाबंदी : माफ़ करें, मैं <device(s)> को आर्मेंट करने की प्रोसेस को रद्द नहीं कर सका.
  • cancelTooLate : माफ़ करें, अब इसे रद्द नहीं किया जा सकता. इसके बजाय, <device(s)> या ऐप्लिकेशन का इस्तेमाल करें.
  • channelSwitchEnabled : माफ़ करें, चैनल <channel name> पर स्विच नहीं किया जा सका. कृपया कुछ देर बाद कोशिश करें.
  • चार्जर से जुड़ी समस्या : माफ़ करें, ऐसा लगता है कि <device(s)> <has/have> <a चार्जर issue/charger issues>.
  • commandInsertFailed : <device(s)> के लिए निर्देश प्रोसेस नहीं किए जा सके.
  • बैटरी खत्म हो गई है : <device(s)> <has/टिप्पणियों> <एक बंद बैटरी/खराब बैटरी>.
  • डिग्रीOutOfRange : जिन डिग्री का अनुरोध किया गया है वे <device(s)> के लिए तय सीमा से बाहर हैं.
  • DeviceAlertTermsAssistance : <device(s)> पर एक चालू सूचना <है/ have> है और आपकी सहायता <ज़रूरी है/हैं.
  • deviceAtExtremeTemperature : <device(s)> <is/are> को <एक बहुत ज़्यादा तापमान/अचानक तापमान> पर.
  • deviceBusy : माफ़ करें, ऐसा लगता है कि <device(s)> फ़िलहाल कुछ कर रहा है.
  • deviceCharging : माफ़ करें, ऐसा लगता है कि <device(s)> अभी ऐसा नहीं कर सकता, क्योंकि (ha_shared.ItsItresize=$item.devices.total_device_count) चार्ज किया जा रहा है.
  • deviceClog : माफ़ करें, ऐसा लगता है कि <device(s)> में कोई गड़बड़ी है.
  • deviceफ़िलहाल डिस्ट्रिब्यूट हो रहा है : <device(s)> से फ़िलहाल कुछ दिया जा रहा है.
  • deviceDoorOpen : दरवाज़ा <device(s)> पर खुला है. कृपया इसे बंद करें और फिर से कोशिश करें.
  • deviceHandleClosed : हैंडल को <device(s)> पर बंद कर दिया गया है. कृपया इसे खोलें और फिर से कोशिश करें.
  • deviceJammingDetect : <device(s)> <is/are> जाम हो गया है.
  • deviceLidOpen : <device(s)> का लिड खुला है. कृपया इसे बंद करें और फिर से कोशिश करें.
  • device रिपेयर कराने की ज़रूरत : <device(s)> <need(s)> को रिपेयर करना है. कृपया सेवा देने वाले स्थानीय व्यक्ति या कंपनी से संपर्क करें.
  • deviceNotDocked : माफ़ करें, ऐसा लगता है कि <device(s)> <isnt/aren't> डॉक किया हुआ है. कृपया <it/them> को डॉक करें और फिर से कोशिश करें.
  • deviceNotFound : <device(s)> <is/are>उपलब्ध नहीं है. आप चाहें, तो <it/them> को फिर से सेट अप करें.
  • deviceNotMounted : माफ़ करें, ऐसा लगता है कि <device(s)> ऐसा नहीं कर सकता, क्योंकि <it/they> <is/are> को माउंट नहीं किया गया है.
  • deviceNot Ready : <device(s)> <is/are>तैयार नहीं है.
  • deviceStuck : <device(s)> <is/are> रुक गया है और उसे आपकी मदद चाहिए.
  • deviceTampered : <device(s)> के साथ <has/have> के साथ छेड़छाड़ की गई है.
  • deviceThermal नोटिफ़िकेशन : माफ़ करें, ऐसा लगता है कि बहुत ज़्यादा तापमान होने की वजह से <device(s)> बंद हो गया है.
  • directResponseOnlyUnAccessable : <device(s)> में रिमोट कंट्रोल की सुविधा <Don't/dont> काम करती है.
  • disarmFailure : <device(s)> को बंद नहीं किया जा सका.
  • DiscreteOnlyOpenClose : माफ़ करें, <device(s)> को सिर्फ़ पूरी तरह से खोला या बंद किया जा सकता है.
  • DispenseAmountAboveLimit : <device(s)> से इतना ज़्यादा नहीं बनाया जा सकता.
  • DispenseAmountNoneLimit : <device(s)> से इतना कम पेमेंट नहीं किया जा सकता.
  • DispenseAmountRemainingExceeded : <device(s)> में ऐसा करने के लिए ज़रूरत के मुताबिक <dispense item> नहीं है.
  • DispenseFractionalAmountNotAllowed : <device(s)> से <dispense item> को कई हिस्सों में नहीं बांटा जा सका.
  • DispenseFractionalUnitNotAllowed : <device(s)> पर <dispense item> के लिए, इकाई के फ़्रैक्शन की सुविधा काम नहीं करती.
  • DispenseUnitNotsupported : <device(s)> पर <dispense item> के लिए यह इकाई काम नहीं करती.
  • docloseTooLong : <device(s)> का दरवाज़ा काफ़ी समय से बंद है. कृपया दरवाज़ा खोलें और पक्का करें कि इसके अंदर कुछ हो. इसके बाद, फिर से कोशिश करें.
  • EmergencyHeatOn : <device(s)> <is/are> पर इमरजेंसी हीट मोड चालू होना चाहिए, इसलिए <it/they> को मैन्युअल तरीके से अडजस्ट करना पड़ेगा.
  • बैटरी में खराबी है : <device(s)> <has/have> <aगड़बड़ी बैटरी/खराब बैटरी>.
  • फ़्लोर तक नहीं पहुंचा जा सकता : <device(s)> उस कमरे तक नहीं पहुंच सकता. कृपया <it/उन्हें> सही मंज़िल पर ले जाएं और फिर से कोशिश करें.
  • फ़ंक्शनNotsupported : असल में, <device(s)> उस सुविधा के साथ काम < नहीं करता/नहीं करता है>.
  • GeneralDispenseNotSupported : मुझे यह जानना है कि आपको क्या देना है. कृपया आइटम का नाम डालकर फिर से कोशिश करें.
  • हार्डएरर : माफ़ करें, कोई गड़बड़ी हुई है. मैं आपके होम डिवाइस को कंट्रोल नहीं कर पा रही हूँ.
  • हार्डएरर : माफ़ करें, कोई गड़बड़ी हुई है. मैं आपके होम डिवाइस को कंट्रोल नहीं कर पा रही हूँ.
  • inAutoMode : <device(s)> <is/are> फ़िलहाल ऑटो मोड पर सेट है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inAwayMode : <device(s)> <is/are> फ़िलहाल अवे मोड पर सेट है. थर्मोस्टैट को कंट्रोल करने के लिए, आपको फ़ोन, टैबलेट या कंप्यूटर पर Nest ऐप्लिकेशन का इस्तेमाल करके, इसे मैन्युअल रूप से होम मोड पर स्विच करना होगा.
  • inDryMode : <device(s)> <is/are> को फ़िलहाल ड्राई मोड पर सेट किया गया है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inEcoMode : <device(s)> <is/are> फ़िलहाल ईको मोड पर सेट है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inFanOnlyMode : <device(s)> <is/are> को फ़िलहाल सिर्फ़-पंखा मोड पर सेट किया गया है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inHeatOrCool : <device(s)> <is/are>हीट/कूल मोड में नहीं है.
  • inHumidifierMode : <device(s)> <is/are> को फ़िलहाल हवा में नमी बनाए रखने वाले मोड पर सेट किया गया है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inOffMode : <device(s)> <is/are> अभी बंद है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड में स्विच करना होगा.
  • inPurifierMode : <device(s)> <is/are> फ़िलहाल प्यूरिफ़ायर मोड पर सेट है. तापमान बदलने के लिए, आपको <it/them> को किसी दूसरे मोड पर स्विच करना होगा.
  • inSleepMode : <device(s)> <is/are> स्लीप मोड में. कृपया कुछ देर बाद कोशिश करें.
  • inSoftwareUpdate : <device(s)> <is/are> फ़िलहाल सॉफ़्टवेयर अपडेट में है.
  • lockFailure : <device(s)> को लॉक नहीं किया जा सका.
  • lockState : <device(s)> <is/are> फ़िलहाल लॉक है.
  • lockToRange : यह तापमान <device(s)> पर लॉक की गई रेंज से बाहर है.
  • बैटरी कम है : <device(s)> <has/have> की बैटरी.
  • maxSettingsReached : <device(s)> <is/are> को पहले से ही सबसे ज़्यादा सेटिंग पर सेट किया गया है.
  • maxSpeedReached : <device(s)> <is/are> की स्पीड पहले से ही सबसे ज़्यादा पर सेट है.
  • minsettingReached : <device(s)> <is/are> को पहले से ही सबसे कम सेटिंग पर सेट किया गया है.
  • minSpeedReached : <device(s)> <is/are> पहले से ही सबसे कम स्पीड पर सेट है.
  • MonitorServiceConnectionLost : <device(s)> ने मॉनिटर करने वाली सेवा से <its/here> कनेक्शन बंद कर दिया है.
  • अटैचमेंट की ज़रूरत है : माफ़ करें, ऐसा लगता है कि <device(s)> <is/are> में ज़रूरी अटैचमेंट मौजूद नहीं है. कृपया इसे बदलें और फिर से कोशिश करें.
  • needBin : माफ़ करें, ऐसा लगता है कि <device(s)> <is/are> में बिन नहीं है. कृपया इसे बदलें और फिर से कोशिश करें.
  • की ज़रूरत के हिसाब से पैड : <device(s)> <need(s)> नए पैड.
  • सॉफ़्टवेयर अपडेट की ज़रूरत है : <device(s)> <need(s)> के लिए सॉफ़्टवेयर अपडेट.
  • पानी की ज़रूरत है : <device(s)> <need(s)> पानी.
  • networkProfileNotDetectd : माफ़ करें, मैं <device(s)> पर "<network profile>" को नहीं पहचानती.
  • networkSpeedTestInProprogress : मैंने पहले से ही <network> <speed/speeds>> को टेस्ट कर लिया है.
  • noAvailableApp : माफ़ करें, ऐसा लगता है कि <app name> उपलब्ध नहीं है.
  • noAvailableChannel : माफ़ करें, ऐसा लगता है कि <channel name> चैनल उपलब्ध नहीं है.
  • noChannelSubscription : माफ़ करें, फ़िलहाल आपने <channel name> चैनल की सदस्यता नहीं ली है.
  • noTimerExists : माफ़ करें, ऐसा लगता है कि <device(s)> पर कोई टाइमर सेट नहीं है.
  • काम नहीं करता : माफ़ करें, <device(s)> के लिए यह मोड उपलब्ध नहीं है.
  • रुकावट का पता चला : <device(s)> को किसी रुकावट का पता चला.
  • ऑफ़लाइन , deviceऑफ़लाइन : माफ़ करें, ऐसा लगता है कि <device(s)> <is/are>इस समय उपलब्ध नहीं है.
  • onrequiredMode : कृपया बताएं कि आपको कौनसा मोड चालू करना है.
  • लंबा पासवर्ड गलत है : माफ़ करें, ऐसा लगता है कि यह पिन गलत है.
  • percentOutOfRange : माफ़ करें, मैं <device(s)> को <percent> पर सेट नहीं कर सकता.
  • पिनगलत : (लंबा पासवर्ड गलत)
  • बारिश का पता चला है : मैंने <device(s)> को नहीं खोला, क्योंकि बारिश का पता चला है.
  • RangeTooclose : <device(s)> के लिए वे तापमान, गर्म-ठंडा करने की रेंज के बहुत करीब हैं. ऐसे तापमान चुनें जिनमें ज़्यादा अंतर हो.
  • relinkrequired : माफ़ करें, ऐसा लगता है कि आपके खाते में कोई गड़बड़ी हुई है. <device> को फिर से लिंक करने के लिए, Google Home या Assistant ऐप्लिकेशन का इस्तेमाल करें.
  • RemoteSet disabledd :
    • वैकल्पिक पैरामीटर errorCodeReason
    • currentlyArmed - माफ़ करें, सुरक्षा पहले से चालू है. इसलिए, कोई भी बदलाव करने के लिए आपको <device(s)> या ऐप्लिकेशन का इस्तेमाल करना होगा.
    • remoteUnlockNotAllowed - माफ़ करें, मैं कहीं से भी <device(s)> को अनलॉक नहीं कर सकती.
    • remoteControlOff - यह कार्रवाई अभी बंद है. कृपया <device> पर रिमोट कंट्रोल चालू करें और फिर से कोशिश करें.
    • childSafetyModeActive - बच्चों की सुरक्षा वाला मोड चालू होने पर, <device(s)> पर यह कार्रवाई नहीं की जा सकती.
  • roomOnVariousFloors : <device(s)> उन कमरों तक नहीं पहुंच पा रहे हैं, क्योंकि वे अलग-अलग फ़्लोर पर हैं.
  • safetysafety : सुरक्षा बंद करने के मोड में <device(s)> <is/are>. इसलिए, <it/they> को मैन्युअल तरीके से अडजस्ट करना होगा.
  • सीन नहीं किया जा सकता : माफ़ करें, <device(s)> को लागू नहीं किया जा सकता.
  • सुरक्षा से जुड़ी पाबंदी : <device(s)> पर सुरक्षा से जुड़ी पाबंदी <है/हैं>.
  • SoftwareUpdateNotAvailable : माफ़ करें, <device(s)> पर सॉफ़्टवेयर का कोई भी अपडेट उपलब्ध नहीं है.
  • startrequiredTime : ऐसा करने के लिए, आपको मुझे बताना होगा कि आपको <device(s)> को कितनी देर तक चलाना है.
  • अब भीCoolingDown : <device(s)> <is/are> अब भी ठंडा हो रहा है.
  • nowWarmingUp : <device(s)> <is/are> अब भी गर्म हो रहा है.
  • streamUnavailable : माफ़ करें, ऐसा लगता है कि स्ट्रीम इस समय <device(s)> पर उपलब्ध नहीं है.
  • streamUnplayable : माफ़ करें, फ़िलहाल मैं <device(s)> से स्ट्रीम नहीं चला सकती.
  • टैंक खाली है : <device(s)> <has/have> <an खाली टैंक/खाली टैंक>. कृपया <it/them> को भरें और फिर से कोशिश करें.
  • targetbeforeReached : माफ़ करें, ऐसा लगता है कि यह मौजूदा तापमान पहले से ही है.
  • timerValueOutOfRange : <device(s)> को इतने समय के लिए सेट नहीं किया जा सकता.
  • बहुत ज़्यादा असफल कोशिशें : माफ़ करें, कई बार कोशिश की गई. इस कार्रवाई को पूरा करने के लिए, कृपया अपने डिवाइस के ऐप्लिकेशन पर जाएं.
  • transientError : माफ़ करें, <device(s)> को कंट्रोल करने में कोई गड़बड़ी हुई. कृपया फिर से कोशिश करें.
  • बंद है , deviceTurnedOff : <device(s)> <is/are> अभी बंद है.
  • leadToLocateDevice : मुझे <device(s)> का पता नहीं चला.
  • अज्ञातफ़ूडPreset : <device(s)> पर यह खाना पहले से सेट नहीं किया जा सकता.
  • UnlockFailure : <device(s)> को अनलॉक नहीं किया जा सका.
  • UnpausableState : <device(s)> को अभी रोका नहीं जा सकता.
  • उपयोगकर्ता को रद्द किया गया : ठीक है
  • valueOutOfRange : <device(s)> को उस तापमान पर सेट नहीं किया जा सकता.

अपवाद

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

अगर निर्देश सफल रहा (स्थिति = "सफल"), तो StatusReport Trait का इस्तेमाल करके (टारगेट के अलावा दूसरे डिवाइसों के लिए) या सही exceptionCode (टारगेट किए गए डिवाइस के लिए) का इस्तेमाल करके अपवादों की शिकायत करें.

उदाहरण के लिए, अगर ड्रायर की लिंट स्क्रीन पूरी भर गई है, तब भी उपयोगकर्ता अपने ड्रायर को चालू कर सकता है. हालांकि, हो सकता है कि आप उन्हें इस स्थिति के बारे में चेतावनी देना चाहें. इसी तरह, जब किसी डिवाइस की बैटरी कम हो और वह खाली न हो, तब भी कोई निर्देश दिया जा सकता है. हालांकि, उसे यह बताया जाना चाहिए कि डिवाइस की बैटरी कम है.

अगर अपवादों की वजह से निर्देश काम नहीं करता, तो स्थिति "EXCEPTIONS" होनी चाहिए. साथ ही, अपवादों को StatusReport Trait का इस्तेमाल करके रिपोर्ट किया जाना चाहिए.

टारगेट डिवाइस से जुड़ा, ब्लॉक न करने वाला अपवाद (सफल)

इस उदाहरण में, दरवाज़ा लॉक करने का तरीका बताया गया है:

सामने के दरवाज़े की बैटरी कम है. सामने का दरवाज़ा बंद कर रही हूँ.

{
  "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"
      }
    }]
  }
}

स्टेटस रिपोर्ट का इस्तेमाल करके किसी दूसरे डिवाइस के बारे में, ब्लॉक न करने का अपवाद (सफल)

यह उदाहरण सुरक्षा सिस्टम को चालू करने के लिए है: ठीक है, सुरक्षा सिस्टम को चालू कर रही हूँ. सामने की खिड़की खुली है.

{
  "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"
        }]
      }
    }]
  }
}

स्टेटस रिपोर्ट का इस्तेमाल करके किसी दूसरे डिवाइस के बारे में अपवाद को ब्लॉक करना

{
  "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 free bag/fullbag>. कृपया <it/them> खाली करें और फिर से कोशिश करें.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • कार्बन मोनोऑक्साइड का पता चला : <house name> में कार्बन मोनोऑक्साइड का पता चला है.
  • deviceAtExtremeTemperature : <device(s)> <is/are> को <एक बहुत ज़्यादा तापमान/अचानक तापमान> पर.
  • deviceJammingDetect : <device(s)> <is/are> जाम हो गया है.
  • डिवाइस बदला गया : <device(s)> <vas/were> को ले जाया गया.
  • डिवाइस खुला है : <device(s)> <is/are> खुला है.
  • deviceTampered : <device(s)> के साथ <has/have> के साथ छेड़छाड़ की गई है.
  • deviceUnplugged : <device(s)> <is/are> को अनप्लग किया गया.
  • फ़्लोर तक नहीं पहुंचा जा सकता : <device(s)> उस कमरे तक नहीं पहुंच सकता. कृपया <it/उन्हें> सही मंज़िल पर ले जाएं और फिर से कोशिश करें.
  • hardwareFailure : <device(s)> में हार्डवेयर की समस्या <है/हैं.
  • inSoftwareUpdate : <device(s)> <is/are> फ़िलहाल सॉफ़्टवेयर अपडेट में है.
  • बायपास किया गया : <device(s)> <is/are> को फ़िलहाल बायपास किया गया है.
  • बैटरी कम है : <device(s)> <has/have> की बैटरी.
  • हलचल का पता चला : <device(s)> <detect(s)> मोशन.
  • की ज़रूरत के हिसाब से पैड : <device(s)> <need(s)> नए पैड.
  • सॉफ़्टवेयर अपडेट की ज़रूरत है : <device(s)> <need(s)> के लिए सॉफ़्टवेयर अपडेट.
  • पानी की ज़रूरत है : <device(s)> <need(s)> पानी.
  • networkJammingdetect : <device(s)> से होम नेटवर्क का कनेक्शन ठीक से काम नहीं कर रहा है.
  • noIssuesReported : <device(s)> ने कोई समस्या नहीं होने की शिकायत की.
  • roomOnVariousFloors : <device(s)> उन कमरों तक नहीं पहुंच पा रहे हैं, क्योंकि वे अलग-अलग फ़्लोर पर हैं.
  • RunCycleFinished : <device(s)> <has/have> प्रोसेस हो गई.
  • सुरक्षा से जुड़ी पाबंदी : <device(s)> पर सुरक्षा से जुड़ी पाबंदी <है/हैं>.
  • धुएं का पता चला : <house name> में धुएं का पता चला है.
  • टैंक खाली है : <device(s)> <has/have> <an खाली टैंक/खाली टैंक>. कृपया <it/them> को भरें और फिर से कोशिश करें.
  • CellularBackup का इस्तेमाल करना : <device(s)> <is/are> जो सेल्युलर बैकअप का इस्तेमाल कर रहा है.
  • वॉटरलीक का पता चला : <device(s)> <detect(s)>> पानी का लीक.