Hatalar ve istisnalar

Bu dokümanda, akıllı ev cihazları için resmi olarak desteklenen hatalar ve istisnalar listelenmiştir. Google Asistan'ın son kullanıcıları belirli bir komut veya cihaz durumuyla ilgili sorunlar hakkında uyarması için lütfen intent yanıtında veya uyguladıysanız bildirimlerde bu hata ve istisna kodlarını kullanın. Yanıt yanlış biçimlendirme veya errorCode içeriyorsa Google Asistan kullanıcılara genel bir hata mesajı verir. Örneğin, "Maalesef cihaz şu anda kullanılamıyor".

Hatalar

Bir sorun nedeniyle yürütme veya sorgu isteği başarısız olduğunda hata kodu döndürmeniz gerekir. Örneğin, bir kapı kilidi sıkışmışsa ve kilitlenemiyor veya kilidi açılamıyorsa kullanıcıya bu durumla ilgili bir hata döndürülmelidir.

Hata kodları cihaz düzeyinde veya genel düzeyde eklenebilir. Örneğin, bir kullanıcının tek bir sağlayıcıdan aldığı ve bir hub tarafından kontrol edilen çok sayıda ışığı varsa kullanıcı tüm ışıklarını kapatmak istediğinde sağlayıcı, tek bir ışık çevrimdışıysa cihaz düzeyinde bir hata, tüm hub'ı çevrimdışıysa ve hiçbir ışık kontrol edilemiyorsa genel düzeyde bir hata döndürebilir. Tüm cihazlar çevrimdışıysa global düzeyde veya cihaz düzeyinde hata kullanmak arasında fark yoktur.

Özet olarak:

  • Genel düzeyde hata: Yanıttaki tüm cihazlarda aynı hata var.
  • Yerel düzeyde hata: Hata ve başarı durumlarının bir arada olduğu karışık yanıt

Genel düzeydeki hatalar

Aşağıdaki JSON snippet'i, QUERY veya EXECUTE yanıtında genel düzeydeki hataları nasıl döndüreceğinizi gösterir.

Merkezin çevrimdışı olması nedeniyle oluşan global düzeyde hata deviceOffline örneği:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "deviceOffline",
    "status" : "ERROR"
  }
}

Merkezin güncellenmesi nedeniyle oluşan genel düzeyde hata inSoftwareUpdate örneği:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "inSoftwareUpdate",
    "status" : "ERROR"
  }
}

Cihaz düzeyindeki hatalar

QUERY yanıtı

Aşağıdaki JSON snippet'i, QUERY yanıtında cihaz düzeyindeki hataları nasıl döndüreceğinizi gösterir.

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

EXECUTE yanıtı

Aşağıdaki JSON snippet'i, EXECUTE yanıtında cihaz düzeyindeki hataları nasıl döndüreceğinizi gösterir.

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

Hata içeren bildirimler

Proaktif bildirim

Aşağıdaki JSON snippet'i, proaktif bildirimde cihaz düzeyindeki hataları nasıl bildireceğinizi gösterir.

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

Takip yanıtı

Aşağıdaki JSON snippet'i, cihaz düzeyindeki hataları takip yanıtında nasıl bildireceğinizi gösterir.

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

Hata listesi

Aşağıdaki hatalar, cihazda ilişkili TTS'yi oluşturur.

  • aboveMaximumLightEffectsDuration : Bu süre, maksimum süre olan 1 saatten daha uzun. Lütfen tekrar deneyin.
  • aboveMaximumTimerDuration : <device(s)> için en fazla <time period> süre ayarlayabilirim.
  • actionNotAvailable : Maalesef bu işlemi şu anda yapamıyorum. İpucu: Yerine getirme işleminizde cihaz özelliklerini ve mevcut durum mantığını doğrulayın.
  • actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
  • alreadyArmed : <device(s)> <is/are> already armed.
  • alreadyAtMax : <device(s)> zaten maksimum sıcaklığa ayarlı.
  • 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 : Maalesef <device(s)> hangi bölgeyi kastettiğinizi anlayamadı. Lütfen bölgelerinizin benzersiz adlara sahip olduğundan emin olup tekrar deneyin.
  • amountAboveLimit : Bu miktar, <device(s)> cihazının destekleyebileceğinden daha fazla.
  • appLaunchFailed : Maalesef <app name> uygulaması <device(s)> cihazlarında başlatılamadı. İpucu: appId'yi ve uygulamanın hedef donanımda desteklendiğini doğrulayın.
  • armFailure : <device(s)> etkinleştirilemedi.
  • armLevelNeeded : <device(s)> cihazını hangi seviyeye ayarlayacağımı tam anlayamadım. "<Cihazları> <düşük güvenlik> olarak ayarla" veya "<Cihazları> <yüksek güvenlik> olarak ayarla" diyebilirsin.
  • authFailure : <device(s)> cihazına ulaşamıyorum. <device/devices> cihazının kurulumunun tamamlandığından emin olmak için cihaz uygulamasını kontrol etmeyi deneyebilirsin.
  • bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
  • belowMinimumLightEffectsDuration : Bu süre, minimum süre olan 5 dakikadan az. Lütfen tekrar deneyin.
  • belowMinimumTimerDuration : <device(s)> cihazını o kadar kısa süreye ayarlayamıyorum. Lütfen tekrar deneyin.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : Maalesef <device(s)> cihazlarının etkinleştirilmesini iptal edemedim.
  • cancelTooLate : Maalesef iptal etmek için çok geç. Bunun yerine <device(s)> veya uygulamayı kullanın.
  • channelSwitchFailed : Maalesef <kanal adı> kanalına geçiş yapılamadı. Lütfen daha sonra tekrar deneyin. İpucu: Kullanıcının kanal adlarını/numaralarını ve abonelik durumunu doğrulayın.
  • chargerIssue : Maalesef <device(s)> cihazında <a charger issue/charger issues> var. İpucu: İş ortağı, donanım düzeyindeki telemetriyi ve pil sağlığını incelemelidir.
  • commandInsertFailed : <device(s)> için komutlar işlenemiyor. İpucu: Veritabanı yazma performansını veya dahili komut sıraya alma mantığını inceleyin.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : İstenen dereceler <device(s)> için aralığın dışında.
  • 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 : Maalesef <device(s)> şu anda başka bir işlem yapıyor.
  • deviceCharging : Maalesef <device(s)> şarj olduğu için bunu yapamıyor.
  • deviceClogged : Maalesef <device(s)> tıkanmış.
  • deviceCurrentlyDispensing : <device(s)> şu anda zaten bir şeyler çıkarıyor.
  • deviceDoorOpen : <Cihazların> kapağı açık. Lütfen kapatıp tekrar deneyin.
  • deviceHandleClosed : <device(s)> cihazlarında tutma yeri kapalı. Lütfen açıp tekrar deneyin.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceLidOpen : <device(s)> cihazının kapağı açık. Lütfen kapağı kapatıp tekrar deneyin.
  • deviceNeedsRepair : <device(s)> <need(s)> onarılmalıdır. Lütfen bölgenizdeki servis bayisiyle iletişime geçin.
  • deviceNotDocked : Maalesef <device(s)> yuvasına yerleştirilmemiş. Lütfen <it/them> yuvasına oturtup tekrar deneyin.
  • deviceNotFound : <device(s)> <is/are>n't available. <it/them> tekrar kurmayı deneyebilirsiniz. İpucu: Arka ucunuzun Home Graph'i her zaman senkronize ettiğinden emin olun. Cihaz eklendiğinde veya kaldırıldığında requestSync yöntemini çağırın.
  • deviceNotMounted : Maalesef <device(s)> monte edilmediğinden o işlemi yapamıyor.
  • 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 : Maalesef <device(s)> aşırı derecede ısınarak kapanmış.
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
  • disarmFailure : <device(s)> güvenliği devre dışı bırakılamadı.
  • discreteOnlyOpenClose : Maalesef <device(s)> yalnızca tamamen açılabilir veya kapatılabilir.
  • dispenseAmountAboveLimit : <device(s)> o kadar fazla şey çıkaramaz.
  • dispenseAmountBelowLimit : <device(s)> o kadar az şey veremez.
  • dispenseAmountRemainingExceeded : <device(s)> cihazında bunu yapacak kadar <dispense item> yok.
  • dispenseFractionalAmountNotSupported : <device(s)>, <dispense item> öğesini kesirli miktarda veremiyor.
  • dispenseFractionalUnitNotSupported : <device(s)> <dispense item> için bu birimin kesirli ölçülerini desteklemiyor.
  • dispenseUnitNotSupported : <device(s)> cihazı, <dispense item> için bu birimi desteklemiyor.
  • doorClosedTooLong : <device(s)> cihazının kapağı bir süredir açılmamış. Kapağı açıp içeride bir şey olduğundan emin olup tekrar deneyebilirsin.
  • 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)> o odaya erişemez. Doğru kata götürüp tekrar deneyebilirsin.
  • functionNotSupported : Aslında <device(s)> bu işlevi desteklemiyor. İpucu: SYNC yanıtınızın cihazın özelliklerini doğru şekilde yansıttığından emin olun.
  • genericDispenseNotSupported : Ne kadar su doldurmak istediğinizi bilmem gerekiyor. Lütfen öğenin adını söyleyerek tekrar deneyin.
  • hardError : Maalesef bir hata oluştuğu için ev cihazını kontrol edemiyorum.
  • hardError : Maalesef bir hata oluştuğu için ev cihazını kontrol edemiyorum.
  • inAutoMode : <device(s)> <is/are> currently set to auto mode. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inAwayMode : <device(s)> <is/are> şu anda Dışarıda moduna ayarlı. Termostatınızı kontrol etmek için telefon, tablet veya bilgisayarda Nest uygulamasını kullanarak manuel olarak ev moduna geçirmeniz gerekir.
  • inDryMode : <device(s)> <is/are> currently set to dry mode. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inEcoMode : <device(s)> şu anda eko moduna ayarlı. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inFanOnlyMode : <device(s)> şu anda yalnızca fan moduna ayarlı. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
  • inHumidifierMode : <device(s)> şu anda nemlendirici moduna ayarlı. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inOffMode : <device(s)> şu anda kapalı. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inPurifierMode : <device(s)> şu anda hava temizleyici modda. Sıcaklığı değiştirmek için <it/them> farklı bir moda geçirmeniz gerekir.
  • inSleepMode : <device(s)> <is/are> in sleep mode. Lütfen daha sonra tekrar deneyin.
  • inSoftwareUpdate : <device(s)> şu anda yazılım güncellemesi yapıyor.
  • lockFailure : <device(s)> kilitlenemedi. İpucu: Kilit donanımında fiziksel sıkışma, düşük güç veya motor arızası olup olmadığını inceleyin.
  • lockedState : <device(s)> <is/are> currently locked.
  • lockedToRange : Bu sıcaklık, <device(s)> cihazlarındaki kilitli aralığın dışında.
  • 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)> zaten en düşük ayarda.
  • minSpeedReached : <device(s)> zaten minimum hıza ayarlı.
  • monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> connection to the monitoring service.
  • needsAttachment : Maalesef <device(s)> cihazına gerekli bir ek parça takılmamış. Yerine takıp tekrar deneyebilirsin.
  • needsBin : Maalesef <device(s)> cihazının bir sepeti eksik. Yerine takıp tekrar deneyebilirsin.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> a software update.
  • needsWater : <device(s)> <need(s)> water.
  • networkProfileNotRecognized : Maalesef <device(s)> cihazlarında "<network profile>" profilini tanımıyorum. İpucu: Profil adı dizesinin, SYNC yanıtındaki desteklenen profillerle eşleştiğini doğrulayın.
  • networkSpeedTestInProgress : <Ağ> <hızını/hızlarını> zaten test ediyorum.
  • noAvailableApp : Maalesef <uygulama adı> kullanılamıyor.
  • noAvailableChannel : Maalesef <kanal adı> kanalı kullanılamıyor.
  • noChannelSubscription : Maalesef şu anda <kanal adı> kanalına abone değilsiniz.
  • noTimerExists : Maalesef <device(s)> cihazında ayarlanmış zamanlayıcı yok.
  • notSupported : Maalesef bu mod <device(s)> için kullanılamıyor.
  • obstructionDetected : <device(s)> bir engel algıladı.
  • offline , deviceOffline : Maalesef <device(s)> şu anda kullanılamıyor.
  • onRequiresMode : Lütfen açmak istediğiniz modu belirtin.
  • passphraseIncorrect : Maalesef PIN doğru görünmüyor.
  • percentOutOfRange : Maalesef <device(s)> cihazını <percent> olarak ayarlayamıyorum.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Yağmur algılandığı için <device(s)> cihazını açmadım.
  • rangeTooClose : <device(s)> için ısıtma-soğutma aralığı çok dar. Aralarında daha fazla fark olan sıcaklıklar seçin.
  • relinkRequired : Maalesef hesabınızla ilgili bir sorun oluştu. <device(s)> cihazını yeniden bağlamak için Google Home veya Asistan uygulamanı kullanabilirsin. İpucu: Yenileme jetonu kalıcı olarak geçersiz olduğunda sunucunuzun bu kodu döndürdüğünden emin olun.
  • remoteSetDisabled :
    • İsteğe bağlı parametre errorCodeReason
    • currentlyArmed - Güvenlik zaten etkinleştirildiğinden değişiklik yapmak için <device(s)> cihazını veya uygulamayı kullanman gerekiyor.
    • remoteUnlockNotAllowed - Maalesef <device(s)> cihazların kilidini uzaktan açamıyorum.
    • remoteControlOff - O işlem şu anda devre dışı. <device(s)> cihazında uzaktan kumandayı etkinleştirip tekrar deneyebilirsin.
    • childSafetyModeActive - Çocuk güvenlik modu etkinken <cihazlar> üzerinde o işlem yapılamaz.
  • 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 : Maalesef <device(s)> uygulanamıyor. İpucu: Kullanıcının sahnelerinin iş ortağı bulutundaki dahili durumunu kontrol edin.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • softwareUpdateNotAvailable : Maalesef <device(s)> için yazılım güncellemesi yok.
  • startRequiresTime : Bunun için önce <device(s)> cihazını ne kadar çalıştırmak istediğini söylemen gerekiyor.
  • stillCoolingDown : <device(s)> <is/are> still cooling down.
  • stillWarmingUp : <device(s)> <is/are> still warming up.
  • streamUnavailable : Maalesef yayın şu anda <device(s)> cihazlarında kullanılamıyor.
  • streamUnplayable : Maalesef şu anda <device(s)> cihazından gelen yayını oynatamıyorum. İpucu: WebRTC/HLS sinyalini doğrulayın ve yayın URL'sinin geçerli olduğundan emin olun.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • targetAlreadyReached : Maalesef mevcut sıcaklık zaten bu.
  • timerValueOutOfRange : <device(s)> bu süre için ayarlanamıyor.
  • tooManyFailedAttempts : Maalesef çok fazla başarısız deneme yapıldı. Bu işlemi tamamlamak için lütfen cihazınızın uygulamasına gidin.
  • transientError : Maalesef <device(s)> kontrol edilirken bir hata oluştu. Lütfen tekrar deneyin. İpucu: Bu hatalar genellikle bir cihaz veya hizmetle bağlantının kesilmesi şeklinde ortaya çıkar. Ayrıca, bir sunucuya yeni bağlantılar açılamıyorsa da bu hata gösterilir.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • unableToLocateDevice : <device(s)> adlı cihazları bulamadım. İpucu: Cihazın yerel bağlantısını (Kablosuz/Bluetooth) kontrol edin.
  • unknownFoodPreset : <device(s)> belirtilen yemekle ilgili hazır ayarı desteklemiyor.
  • unlockFailure : <device(s)> kilidi açılamadı. İpucu: Donanım sıkışmalarını, düşük pil durumunu veya geçersiz PIN girişlerini araştırın.
  • unpausableState : <device(s)> şu anda duraklatılamaz.
  • userCancelled : ok
  • valueOutOfRange : <device(s)> bu sıcaklığa ayarlanamıyor.

Çevrimiçi ve çevrimdışı durum raporlaması

Bir cihaz çevrimdışı olduğunda, cihazın davranışından sonraki beş dakika içinde Report State'e <code{"online": code="" dir="ltr" false}<="" translate="no"> değerini bildirmeniz gerekir. Buna karşılık, bir cihaz tekrar internete bağlandığında cihazın davranışından sonraki beş dakika içinde Report State'e <code{"online": code="" dir="ltr" translate="no" true}<=""> değerini bildirmeniz gerekir. Cihaz tekrar internete bağlandığında iş ortağı, reportStateAndNotification API'yi kullanarak mevcut tüm cihaz durumlarını bildirmelidir. Bu örnekte, light cihaz türünün çevrimiçi olduğu gösterilir ve tüm mevcut cihaz durumları raporlanır.
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

İstisnalar

Bir komutla ilgili sorun veya uyarı olduğunda istisna döndürmeniz gerekir. Komut başarılı veya başarısız olabilir.

Komut başarılı olduysa (durum = "SUCCESS"), StatusReport özelliğini kullanarak (hedef dışındaki cihazlar için) veya uygun bir exceptionCode döndürerek (hedef cihaz için) istisnaları bildirin.

Örneğin, kurutma makinesinin tiftik filtresi doluysa kullanıcı kurutma makinesini çalıştırabilir ancak bu durum hakkında kullanıcıyı uyarmanız gerekebilir. Benzer şekilde, bir cihazın pili azaldığında ancak boşalmadığında komut yürütebilirsiniz ancak kullanıcıya cihazın pilinin azaldığını bildirmeniz gerekir.

Komut, istisnalar nedeniyle başarısız olursa durum "EXCEPTIONS" olmalı ve istisnalar StatusReport özelliği kullanılarak bildirilmelidir.

Hedef cihazla ilgili engelleyici olmayan istisna (BAŞARILI)

Bu örnekte kapı kilitlenmektedir:

Ön kapı kilidinin pil seviyesi düşük. Ön kapı kilitleniyor.

{
  "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 kullanan başka bir cihazla ilgili engelleyici olmayan istisna (BAŞARILI)

Bu örnek, güvenlik sistemini etkinleştirmek içindir: Tamam, güvenlik sistemini etkinleştiriyorum. Ön pencere açık.

{
  "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 kullanan başka bir cihazla ilgili engelleme istisnası

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

İstisna listesi

Aşağıdaki istisnalar, cihazda ilişkili TTS'yi oluşturur.

  • 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> adlı evde karbonmonoksit algılandı.
  • 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)> o odaya erişemez. Doğru kata götürüp tekrar deneyebilirsin.
  • hardwareFailure : <device(s)> <has/have> a hardware problem.
  • inSoftwareUpdate : <device(s)> şu anda yazılım güncellemesi yapıyor.
  • 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)> ile ev ağı bağlantısı düzgün çalışmıyor.
  • noIssuesReported : <device(s)> cihazlarında sorun bildirilmedi.
  • 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 : <house name> adlı evde duman algılandı.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • usingCellularBackup : <device(s)> <is/are> hücresel yedekleme kullanıyor.
  • waterLeakDetected : <device(s)> <detect(s)> a water leak.
</code{"online":></code{"online":>