Błędy i wyjątki

Ten dokument zawiera oficjalnie obsługiwane błędy i wyjątki dla inteligentnych urządzeniach domowych. Użyj w intencji tych kodów błędów i wyjątków lub w powiadomieniach jeśli korzystasz z usługi, Asystent Google ostrzega użytkowników o problemach związanych z podane polecenie lub stan urządzenia. Jeśli odpowiedź zawiera nieprawidłowe formatowanie lub errorCode, Asystent Google wyświetla użytkownikom ogólny komunikat o błędzie, na przykład: „Urządzenie urządzenie jest teraz niedostępne”.

Błędy

Kod błędu powinien być zwracany, gdy problem powoduje wykonanie lub . Jeśli na przykład zamek w drzwiach się zaciął i nie można go zablokowany lub odblokowany, użytkownik powinien otrzymać komunikat o błędzie dotyczący tego stanu.

Kody błędów można dołączać na poziomie urządzenia lub na poziomie globalnym. Przykład: jeśli użytkownik ma wiele źródeł światła od jednego dostawcy i jest sterowane przez centrum, użytkownik prosi o wyłączenie wszystkich świateł, usługodawca może zwrócić na poziomie urządzenia, jeśli pojedynczy punkt oświetlenia jest offline, lub błąd na poziomie globalnym, jeśli jego urządzenia są w trybie offline i nie można sterować oświetleniem. Jeśli wszystkie urządzenia są offline, nie ma różnicy między używaniem na poziomie urządzenia czy na poziomie globalnym . Gdy urządzenie jest offline, stan {"online": false} należy zgłosić jako reportState, nawet jeśli zwrócisz deviceOffline – kod błędu.

W skrócie:

  • Błąd na poziomie globalnym: wszystkie urządzenia w odpowiedzi mają ten sam błąd.
  • Błąd na poziomie lokalnym: odpowiedź mieszana z błędami i przypadkami powodzenia
.

Błędy na poziomie globalnym

Ten fragment kodu JSON pokazuje, jak zwracać błędy na poziomie globalnym w Odpowiedź QUERY lub EXECUTE.

Przykład błędu na poziomie globalnym deviceOffline spowodowany przez centrum: offline:

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

Przykład błędu na poziomie globalnym inSoftwareUpdate spowodowany przez centrum: aktualizowanie:

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

Błędy na poziomie urządzenia

Odpowiedź QUERY

Poniższy fragment kodu JSON pokazuje, jak zwrócić błędy na poziomie urządzenia w Odpowiedź QUERY.

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

EXECUTE odpowiedź

Poniższy fragment kodu JSON pokazuje, jak zwrócić błędy na poziomie urządzenia w EXECUTE Odpowiedź.

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

Powiadomienia z błędami

Aktywne powiadomienie

Poniższy fragment kodu JSON pokazuje, jak zgłaszać błędy na poziomie urządzenia w aktywne powiadomienie.

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

Dalsza odpowiedź

Poniższy fragment kodu JSON pokazuje, jak zgłaszać błędy na poziomie urządzenia w kolejną odpowiedź.

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

Lista błędów

Wymienione niżej błędy powodują wygenerowanie powiązanej funkcji zamiany tekstu na mowę na urządzeniu.

  • aboveMaximumLightEffectsDuration : To więcej niż maksymalny czas trwania wynoszący 1 godzinę. Spróbuj jeszcze raz.
  • aboveMaximumTimerDuration : Mogę ustawić tylko <urządzenia> maksymalnie <timeperiod>
  • actionNotAvailable : Nie mogę teraz tego zrobić.
  • actionUnavailableWhileRunning : &lt;device(s)&gt; &lt;is/are&gt; który jest obecnie uruchomiony, więc nie mogę wprowadzić żadnych zmian.
  • alreadyArmed : &lt;device(s)&gt; &lt;is/are&gt; jest już włączony.
  • alreadyAtMax : &lt;device(s)&gt; &lt;is/are&gt; jest już ustawiona na maksymalną temperaturę.
  • alreadyAtMin : &lt;device(s)&gt; &lt;is/are&gt; jest już ustawiona na minimalną temperaturę.
  • alreadyClosed : &lt;device(s)&gt; &lt;is/are&gt; już zamknięte.
  • alreadyDisarmed : &lt;device(s)&gt; &lt;is/are&gt; już wyłączone.
  • alreadyDocked : &lt;device(s)&gt; &lt;is/are&gt; jest już zadokowany.
  • alreadyInState : &lt;device(s)&gt; &lt;is/are&gt; już w tym stanie.
  • alreadyLocked : &lt;device(s)&gt; &lt;is/are&gt; jest już zablokowany.
  • alreadyOff : &lt;device(s)&gt; &lt;is/are&gt; już wyłączone.
  • alreadyOn : &lt;device(s)&gt; &lt;is/are&gt; już włączone.
  • alreadyOpen : &lt;device(s)&gt; &lt;is/are&gt; już otwarte.
  • alreadyPaused : &lt;device(s)&gt; &lt;is/are&gt; już wstrzymane.
  • alreadyStarted : &lt;device(s)&gt; &lt;is/are&gt; już rozpoczęto.
  • alreadyStopped : &lt;device(s)&gt; &lt;is/are&gt; już zatrzymane.
  • alreadyUnlocked : &lt;device(s)&gt; &lt;is/are&gt; jest już odblokowany.
  • ambiguousZoneName : <device(s)> nie można rozpoznać, o którą strefę chodzi. Sprawdź, czy strefy mają unikalne nazwy, i spróbuj jeszcze raz.
  • amountAboveLimit : To więcej niż <urządzenia> mogą pomóc.
  • appLaunchFailed : Nie udało się uruchomić aplikacji <nazwa aplikacji> na <device(s)>.
  • armFailure : &lt;device(s)&gt; nie można było go włączyć.
  • armLevelNeeded : Nie wiem, który poziom ustawić <device(s)> do. Powiedz „Ustaw <urządzenia> <niskie bezpieczeństwo>” lub „Ustaw <urządzenia> na <wysokie bezpieczeństwo>”
  • authFailure : Nie mogę się połączyć z urządzeniem <device(s)>. Sprawdź w aplikacji, czy Twoje <urządzenie/urządzenia> &lt;is/are&gt; dokończ konfigurację.
  • bagFull : &lt;device(s)&gt; &lt;has/have&gt; <pełna torba/pełna torba>. Opróżnij <it/them> i spróbuj jeszcze raz.
  • belowMinimumLightEffectsDuration : To krócej niż minimalny czas trwania wynoszący 5 minut. Spróbuj jeszcze raz.
  • belowMinimumTimerDuration : Nie mogę ustawić <device(s)> tak krótki czas. Spróbuj jeszcze raz.
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <pełny kosz>.
  • cancelArmingRestricted : Nie udało mi się anulować włączania <device(s)>.
  • cancelTooLate : Nie można już anulować zamówienia. Użyj <device(s)> lub aplikację.
  • channelSwitchFailed : Nie udało mi się przełączyć na kanał <nazwa kanału>. Spróbuj jeszcze raz później.
  • chargerIssue : Wygląda na to, że <device(s)> &lt;has/have&gt; <problem z ładowarką>.
  • commandInsertFailed : Nie można przetworzyć poleceń dotyczących <device(s)>.
  • deadBattery : <urządzenia> &lt;has/have&gt; <rozładowana bateria/rozładowane baterie>
  • degreesOutOfRange : Wymagana liczba stopni jest poza zakresem w przypadku urządzenia <device(s)>.
  • deviceAlertNeedsAssistance : &lt;device(s)&gt; &lt;has/have&gt; aktywny alert oraz <potrzeby> z Twoją pomocą.
  • deviceAtExtremeTemperature : <urządzenia> &lt;is/are&gt; przy <ekstremalnych temperaturach/temperaturach ekstremalnych>.
  • deviceBusy : Wygląda na to, że <device(s)> w danej chwili coś już robi.
  • deviceCharging : Wygląda na to, że <device(s)> nie można tego zrobić, ponieważ trwa ładowanie (ha_shared.ItsTheyre size=$item.devices.total_device_count).
  • deviceClogged : Wygląda na to, że <device(s)> jest zatkana.
  • deviceCurrentlyDispensing : &lt;device(s)&gt; właśnie coś wydaje.
  • deviceDoorOpen : Na <urządzeniach> drzwi są otwarte. Zamknij ją i spróbuj jeszcze raz.
  • deviceHandleClosed : Uchwyt jest zamknięty na <urządzeniach>. Otwórz ją i spróbuj jeszcze raz.
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; zacięło się.
  • deviceLidOpen : Pokrywa jest otwarta na <urządzeniach>. Zamknij ją i spróbuj jeszcze raz.
  • deviceNeedsRepair : &lt;device(s)&gt; &lt;need(s)&gt; do naprawy. Skontaktuj się z lokalnym salonem samochodowym.
  • deviceNotDocked : Wygląda na to, że <device(s)> <nie jest/nie jest> zadokowany. Zadokuj <it/them> i spróbuj jeszcze raz.
  • deviceNotFound : &lt;device(s)&gt; <są/są>niedostępne. Spróbuj ustawić <it/them> w górę i w górę strony.
  • deviceNotMounted : Wygląda na to, że <device(s)> nie może tego zrobić, ponieważ <it/they> <są/są>nie są podłączone.
  • deviceNotReady : &lt;device(s)&gt; <są/nie są>gotowe.
  • deviceStuck : &lt;device(s)&gt; &lt;is/are&gt; utknął i potrzebuje Twojej pomocy.
  • deviceTampered : <urządzenia> &lt;has/have&gt; gdzie ktoś manipulował.
  • deviceThermalShutdown : Wygląda na to, że <device(s)> wyłączone z powodu skrajnej temperatury.
  • directResponseOnlyUnreachable : &lt;device(s)&gt; <nie należy/nie należy> obsługuje pilota.
  • disarmFailure : &lt;device(s)&gt; nie można było wyłączyć.
  • discreteOnlyOpenClose : <device(s)> można je tylko całkowicie otworzyć lub zamknąć.
  • : &lt;device(s)&gt; nie może wydać tak dużo.
  • dispenseAmountBelowLimit : &lt;device(s)&gt; nie może wydać tak mało.
  • dispenseAmountRemainingExceeded : &lt;device(s)&gt; za mało <produktu do sprzedaży> w tym celu.
  • dispenseFractionalAmountNotSupported : &lt;device(s)&gt; nie może wydać części <produktu do sprzedaży>.
  • dispenseFractionalUnitNotSupported : &lt;device(s)&gt; nie obsługuje ułamków tej jednostki w przypadku atrybutu <produkt do sprzedaży>.
  • dispenseUnitNotSupported : &lt;device(s)&gt; nie obsługuje tej jednostki w przypadku produktu <dispense>.
  • doorClosedTooLong : Upłynęło trochę czasu od włączenia drzwi na <urządzeniach> Został otwarty. Otwórz je i sprawdź, czy coś jest w środku, a potem spróbuj jeszcze raz.
  • emergencyHeatOn : &lt;device(s)&gt; &lt;is/are&gt; w alarmowym trybie ogrzewania, więc <go/ci> trzeba będzie ustawić je ręcznie.
  • faultyBattery : <urządzenia> &lt;has/have&gt; <wadliwa bateria>
  • floorUnreachable : &lt;device(s)&gt; nie może połączyć się z tym pokojem. Przenieś <it/them> w prawą stronę i spróbuj jeszcze raz.
  • functionNotSupported : Rzeczywiście, <urządzenia> <nie należy/nie należy> obsługują tę funkcję.
  • genericDispenseNotSupported : Muszę wiedzieć, co chcesz podać. Podaj nazwę produktu i spróbuj jeszcze raz.
  • hardError : Coś poszło nie tak i nie mogę sterować urządzeniem domowym.
  • hardError : Coś poszło nie tak i nie mogę sterować urządzeniem domowym.
  • inAutoMode : &lt;device(s)&gt; &lt;is/are&gt; Aktualnie ustawiony jest tryb automatyczny. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inAwayMode : &lt;device(s)&gt; &lt;is/are&gt; Obecnie jest ustawiony tryb Poza domem. Aby sterować termostatem, musisz ręcznie przełączyć go w tryb W domu, używając aplikacji Nest na telefonie, tablecie lub komputerze.
  • inDryMode : &lt;device(s)&gt; &lt;is/are&gt; aktualnie ustawiony na osuszanie. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inEcoMode : &lt;device(s)&gt; &lt;is/are&gt; Ustawiony jest teraz w trybie eko. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inFanOnlyMode : &lt;device(s)&gt; &lt;is/are&gt; obecnie działa w trybie Tylko wentylator. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inHeatOrCool : &lt;device(s)&gt; <nie są/nie są w trybie ogrzewania/chłodzenia.
  • inHumidifierMode : &lt;device(s)&gt; &lt;is/are&gt; nawilżacz powietrza. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inOffMode : &lt;device(s)&gt; &lt;is/are&gt; obecnie wyłączone. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inPurifierMode : &lt;device(s)&gt; &lt;is/are&gt; ustawiony na tryb oczyszczania powietrza. Aby zmienić temperaturę, musisz <it/ich> przełączyć na inne urządzenie w inny tryb.
  • inSleepMode : &lt;device(s)&gt; &lt;is/are&gt; w trybie uśpienia. Spróbuj ponownie później.
  • inSoftwareUpdate : <urządzenia> &lt;is/are&gt; w trakcie aktualizacji oprogramowania.
  • lockFailure : &lt;device(s)&gt; Nie udało się go zablokować.
  • lockedState : &lt;device(s)&gt; &lt;is/are&gt; aktualnie zablokowane.
  • lockedToRange : Ta temperatura jest poza zakresem na <device(s)>.
  • lowBattery : <urządzenia> &lt;has/have&gt; słaba bateria.
  • maxSettingReached : &lt;device(s)&gt; &lt;is/are&gt; już ustawiona jest najwyższa wartość.
  • maxSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; jest już ustawiona na maksymalną prędkość.
  • minSettingReached : &lt;device(s)&gt; &lt;is/are&gt; już ma ustawione najniższe ustawienie.
  • minSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; jest już ustawiona na minimalną prędkość.
  • monitoringServiceConnectionLost : &lt;device(s)&gt; &lt;has/have&gt; zrzucono <swoje> w połączeniu z usługą monitorowania.
  • needsAttachment : Wygląda na to, że <device(s)> &lt;is/are&gt; brakuje wymaganego załącznika. Zamontuj go i spróbuj ponownie.
  • needsBin : Wygląda na to, że <device(s)> &lt;is/are&gt; w którym brakuje kosza. Zamontuj go i spróbuj ponownie.
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; nowe pady.
  • needsSoftwareUpdate : <urządzenia> &lt;need(s)&gt; aktualizację oprogramowania.
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; woda.
  • networkProfileNotRecognized : Nie rozpoznaję „<profilu sieci>” na <device(s)>.
  • networkSpeedTestInProgress : Testuję już <sieć> <prędkość/prędkość>>.
  • noAvailableApp : Wygląda na to, że <nazwa aplikacji> nie są dostępne.
  • noAvailableChannel : Wygląda na to, że kanał <nazwa kanału> nie są dostępne.
  • noChannelSubscription : Nie subskrybujesz kanału <channel name> w danym momencie.
  • noTimerExists : Wygląda na to, że na <device(s)> nie ma ustawionych żadnych minutników.
  • notSupported : Ten tryb jest niedostępny na <device(s)>.
  • obstructionDetected : &lt;device(s)&gt; wykrył przeszkodę.
  • offline , urządzenieOffline : Wygląda na to, że <device(s)> <is/są>nie są teraz dostępne.
  • onRequiresMode : Wybierz, który tryb chcesz włączyć.
  • passphraseIncorrect : Wygląda na to, że ten kod PIN jest nieprawidłowy.
  • percentOutOfRange : Nie mogę ustawić <device(s)> do <percent>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Nie otwarto <device(s)> ponieważ wykryto deszcz.
  • rangeTooClose : Te wartości są za bliskie temperatury w trybie grzania/chłodzenia w przypadku urządzeń <device(s)>. Wybierz bardziej skrajne temperatury.
  • relinkRequired : Wygląda na to, że coś jest nie tak z Twoim kontem. Użyj aplikacji Asystent Google lub Google Home, żeby ponownie połączyć <device(s)>.
  • remoteSetDisabled :
    • Opcjonalny parametr errorCodeReason
    • currentlyArmedPonieważ alarm jest już włączony, musisz użyć <device(s)> lub aplikację, aby wprowadzić zmiany.
    • remoteUnlockNotAllowedNie mogę odblokować urządzenia <device(s)> zdalnie.
    • remoteControlOffto działanie jest obecnie wyłączone. Włącz pilota na <urządzeniach> i spróbuj jeszcze raz.
    • childSafetyModeActiveto działanie jest wyłączone na <urządzeniach> gdy włączony jest tryb bezpieczeństwa dzieci.
  • roomsOnDifferentFloors : &lt;device(s)&gt; Nie mogę się dostać do tych pomieszczeń, ponieważ są one na innych piętrach.
  • safetyShutOff : &lt;device(s)&gt; &lt;is/are&gt; w trybie bezpiecznego wyłączenia, więc <to/oni> trzeba będzie ustawić je ręcznie.
  • sceneCannotBeApplied : <device(s)> nie można zastosować.
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; ograniczenie bezpieczeństwa.
  • softwareUpdateNotAvailable : Na urządzeniu <device(s)> nie jest dostępna aktualizacja oprogramowania.
  • startRequiresTime : Aby to zrobić, musisz mi powiedzieć, jak długo chcesz uruchomić <device(s)>.
  • stillCoolingDown : &lt;device(s)&gt; &lt;is/are&gt; nadal schładzanie.
  • stillWarmingUp : &lt;device(s)&gt; &lt;is/are&gt; jeszcze się rozgrzewa.
  • streamUnavailable : Wygląda na to, że transmisja jest obecnie niedostępna na urządzeniach: <device(s)>.
  • streamUnplayable : Nie mogę odtworzyć transmisji z urządzenia <device(s)> w danym momencie.
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <pusty zbiornik/puste zbiorniki>. Wypełnij <it/them> i spróbuj jeszcze raz.
  • targetAlreadyReached : Wygląda na to, że to jest aktualna temperatura.
  • timerValueOutOfRange : &lt;device(s)&gt; nie można ustawić na ten czas.
  • tooManyFailedAttempts : Zbyt wiele nieudanych prób. Aby to zrobić, otwórz aplikację na urządzeniu.
  • transientError : Coś poszło nie tak podczas sterowania <urządzeniami>. Spróbuj jeszcze raz.
  • turnedOff , deviceWyłączono : &lt;device(s)&gt; &lt;is/are&gt;
  • unableToLocateDevice : Nie udało mi się znaleźć urządzenia <device(s)>.
  • unknownFoodPreset : &lt;device(s)&gt; nie obsługuje tych gotowych ustawień.
  • unlockFailure : &lt;device(s)&gt; nie udało się go odblokować.
  • unpausableState : &lt;device(s)&gt; w tej chwili nie można wstrzymać.
  • userCancelled : OK
  • valueOutOfRange : &lt;device(s)&gt; nie można ustawić na taką temperaturę.

Wyjątki

Należy zwrócić wyjątek, gdy występuje problem lub alert związany z . Polecenie może się powieść lub zakończyć niepowodzeniem.

Jeśli polecenie zostało wykonane pomyślnie (stan = „UDAŁO SIĘ”), zgłoś wyjątki z cechą StatusReport (w przypadku urządzeń innych niż docelowe), lub zwrócenie odpowiedniej wartości exceptionCode (dla urządzenia docelowego).

Jeśli na przykład ekran suszarki jest pełny, użytkownik może na suszarce, możesz jednak ostrzegać ich o tym stanie. Podobnie, gdy urządzenie ma słabą baterię, która nie jest pusta, nadal możesz wykonać polecenie ale należy powiadomić ich, że bateria urządzenia jest słaba.

Jeśli polecenie nie powiedzie się z powodu wyjątków, powinien mieć stan „EXCEPTIONS”, a wyjątki należy zgłaszać, używając właściwości StatusReport.

Wyjątek nieblokujący (SUKCES) dotyczący urządzenia docelowego

Ten przykład dotyczy zamykania drzwi:

Zamek przy drzwiach wejściowych ma słabą baterię. Zamykam zamek w drzwiach wejściowych.

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

Nieblokujący wyjątek (SUKCES) dotyczący innego urządzenia za pomocą raportu StatusReport

Ten przykład dotyczy włączania systemu alarmowego: OK, włączam system alarmowy. Frontowe okno jest otwarte.

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

Wyjątek blokujący inne urządzenie za pomocą raportu 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"
          }
        ]
      }
    }
  }
}

Lista wyjątków

Poniższe wyjątki powodują utworzenie powiązanej funkcji zamiany tekstu na mowę na urządzeniu.

  • bagFull : &lt;device(s)&gt; &lt;has/have&gt; <pełna torba/pełna torba>. Opróżnij <it/them> i spróbuj jeszcze raz.
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <pełny kosz>.
  • carbonMonoxideDetected : W domu <nazwa domu> wykryto tlenek węgla.
  • deviceAtExtremeTemperature : <urządzenia> &lt;is/are&gt; przy <ekstremalnych temperaturach/temperaturach ekstremalnych>.
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; zacięło się.
  • deviceMoved : &lt;device(s)&gt; &lt;was/were&gt; został przeniesiony.
  • deviceOpen : <urządzenia> &lt;is/are&gt;
  • deviceTampered : <urządzenia> &lt;has/have&gt; gdzie ktoś manipulował.
  • deviceUnplugged : <urządzenia> &lt;is/are&gt; i odłączone.
  • floorUnreachable : &lt;device(s)&gt; nie może połączyć się z tym pokojem. Przenieś <it/them> w prawą stronę i spróbuj jeszcze raz.
  • hardwareFailure : <urządzenia> &lt;has/have&gt; w przypadku problemu sprzętowego.
  • inSoftwareUpdate : <urządzenia> &lt;is/are&gt; w trakcie aktualizacji oprogramowania.
  • isBypassed : &lt;device(s)&gt; &lt;is/are&gt; obecnie pomijane.
  • lowBattery : <urządzenia> &lt;has/have&gt; słaba bateria.
  • motionDetected : <urządzenia> &lt;detect(s)&gt; ruchu.
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; nowe pady.
  • needsSoftwareUpdate : <urządzenia> &lt;need(s)&gt; aktualizację oprogramowania.
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; woda.
  • networkJammingDetected : połączenie w sieci domowej z <urządzeniami> nie działa prawidłowo.
  • noIssuesReported : &lt;device(s)&gt; nie zgłosiły żadnych problemów.
  • roomsOnDifferentFloors : &lt;device(s)&gt; Nie mogę się dostać do tych pomieszczeń, ponieważ są one na innych piętrach.
  • runCycleFinished : &lt;device(s)&gt; &lt;has/have&gt; na którym się zakończył.
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; ograniczenie bezpieczeństwa.
  • smokeDetected : W domu <nazwa domu> wykryto dym.
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <pusty zbiornik/puste zbiorniki>. Wypełnij <it/them> i spróbuj jeszcze raz.
  • usingCellularBackup : <urządzenia> &lt;is/are&gt; przy użyciu rezerwowej sieci komórkowej.
  • waterLeakDetected : <urządzenia> &lt;detect(s)&gt; wyciek wody.