Errori ed eccezioni

Questo documento elenca gli errori e le eccezioni supportati ufficialmente per i dispositivi per la smart home. Utilizza questi codici di errore ed eccezione nella risposta all'intent o nelle notifiche, se le hai implementate, in modo che l'Assistente Google avvisi gli utenti finali di problemi relativi a un determinato comando o stato del dispositivo. Se la risposta contiene una formattazione errata o errorCode, l'Assistente Google fornisce agli utenti un messaggio di errore generico, ad esempio "Spiacenti, dispositivo non è disponibile al momento".

Errori

Devi restituire un codice di errore quando un problema causa l'esito negativo di una richiesta di esecuzione o di query. Ad esempio, se una serratura è inceppata e non può essere bloccata o sbloccata, all'utente deve essere restituito un errore relativo a questo stato.

I codici di errore possono essere associati a livello di dispositivo o a livello globale. Ad esempio, se un utente ha molte luci di un provider e queste sono controllate da un hub, quando l'utente chiede di spegnere tutte le luci, il provider potrebbe restituire un errore a livello di dispositivo se una singola luce è offline o un errore a livello globale se l'intero hub è offline e non è possibile controllare nessuna luce. Se tutti i dispositivi sono offline, non c'è differenza tra l'utilizzo di errori a livello globale o a livello di dispositivo.

In sintesi:

  • Errore a livello globale: tutti i dispositivi nella risposta presentano lo stesso errore
  • Errore a livello locale: risposta mista con casi di errore e di esito positivo

Errori a livello globale

Il seguente snippet JSON mostra come restituire errori a livello globale nella risposta QUERY o EXECUTE.

Un esempio di errore a livello globale deviceOffline dovuto all'hub offline è:

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

Un esempio di errore a livello globale inSoftwareUpdate dovuto all'aggiornamento dell'hub è:

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

Errori a livello di dispositivo

Risposta QUERY

Il seguente snippet JSON mostra come restituire gli errori a livello di dispositivo nella risposta QUERY.

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

Risposta EXECUTE

Lo snippet JSON seguente mostra come restituire gli errori a livello di dispositivo nella risposta 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
        }
      }
    ]
  }
}

Notifiche con errori

Notifica proattiva

Il seguente snippet JSON mostra come segnalare gli errori a livello di dispositivo in una notifica proattiva.

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

Risposta aggiuntiva

Il seguente snippet JSON mostra come segnalare gli errori a livello di dispositivo in una risposta di follow-up.

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

Elenco errori

I seguenti errori genereranno il TTS associato sul dispositivo.

  • aboveMaximumLightEffectsDuration : La durata supera il limite massimo di 1 ora. Riprova.
  • aboveMaximumTimerDuration : Posso impostare <device(s)> solo per un massimo di <time period>
  • actionNotAvailable : Mi dispiace, non posso farlo adesso. Suggerimento: verifica le caratteristiche del dispositivo e la logica dello stato attuale nel tuo fulfillment.
  • actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
  • alreadyArmed : <device(s)> <is/are> già con allarme inserito.
  • alreadyAtMax : <device(s)> <is/are> already set to the maximum temperature.
  • alreadyAtMin : <device(s)> <is/are> already set to the minimum temperature.
  • alreadyClosed : <device(s)> <is/are> already closed.
  • alreadyDisarmed : <device(s)> <is/are> already disarmed.
  • alreadyDocked : <device(s)> <is/are> already docked.
  • alreadyInState : <device(s)> <is/are> already in that state.
  • alreadyLocked : <device(s)> <is/are> già bloccato/i.
  • alreadyOff : <device(s)> <is/are> already off.
  • alreadyOn : <device(s)> <is/are> already on.
  • alreadyOpen : <device(s)> <is/are> già <open>.
  • alreadyPaused : <device(s)> <is/are> already paused.
  • alreadyStarted : <device(s)> <is/are> già avviato/i.
  • alreadyStopped : <device(s)> <is/are> already stopped.
  • alreadyUnlocked : <device(s)> <is/are> already unlocked.
  • ambiguousZoneName : Mi dispiace, <device(s)> non riesce a identificare la zona che intendi. Assicurati che le zone abbiano nomi univoci e riprova.
  • amountAboveLimit : È una quantità superiore rispetto a quella supportata da <dispositivo/i>.
  • appLaunchFailed : Spiacenti, non è stato possibile avviare <app name> su <device(s)>. Suggerimento:verifica l'appId e che l'app sia supportata sull'hardware di destinazione.
  • armFailure : Impossibile attivare <device(s)>.
  • armLevelNeeded : Non ho capito bene quale livello devo impostare per <device(s)>. Prova a dire "Imposta <dispositivo/i> su <sicurezza bassa>" o "Imposta <dispositivo/i> su <sicurezza alta>"
  • authFailure : Non riesco a connettermi a <device(s)>. Prova a controllare l'app per verificare che <device/devices> <is/are> completamente configurato.
  • bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
  • belowMinimumLightEffectsDuration : La durata è inferiore a quella minima di 5 minuti. Riprova.
  • belowMinimumTimerDuration : Non posso impostare <device(s)> per un tempo così breve. Riprova.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : Mi dispiace, non ho potuto annullare l'attivazione di <device(s)>.
  • cancelTooLate : Spiacenti, è troppo tardi per annullare. Utilizza <dispositivo/i> o l'app.
  • channelSwitchFailed : Mi dispiace, non riesco a passare al canale <channel name>.Riprova più tardi. Suggerimento: verifica i nomi/numeri dei canali e lo stato dell'abbonamento dell'utente.
  • chargerIssue : Mi dispiace, sembra che <device(s)> <has/have> <a charger issue/charger issues>. Suggerimento:il partner deve esaminare la telemetria a livello di hardware e lo stato della batteria.
  • commandInsertFailed : Impossibile elaborare i comandi per <dispositivo/i>. Suggerimento: esamina le prestazioni di scrittura del database o la logica di accodamento dei comandi interni.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : I gradi richiesti sono fuori dall'intervallo di <device(s)>.
  • deviceAlertNeedsAssistance : <device(s)> <has/have> un avviso di attività attivo e <need(s)> la tua assistenza.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
  • deviceBusy : Mi dispiace, <device(s)> è già in funzione.
  • deviceCharging : Mi dispiace, sembra che <device(s)> non possa farlo perché (ha_shared.ItsTheyre size=$item.devices.total_device_count) in carica.
  • deviceClogged : Mi dispiace, sembra che <device(s)> sia intasato.
  • deviceCurrentlyDispensing : <device(s)> sta già erogando qualcosa.
  • deviceDoorOpen : La porta di <device(s)> è aperta. Chiudila e riprova.
  • deviceHandleClosed : La maniglia è chiusa su <dispositivo/i>. Aprila e riprova.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceLidOpen : Il coperchio è aperto su <dispositivo/i>. Chiudilo e riprova.
  • deviceNeedsRepair : <device(s)> <need(s)> to be repaired. Contatta il tuo rivenditore di servizi locale.
  • deviceNotDocked : Mi dispiace, sembra che <device(s)> non <isn't/aren't> inserito/i nel dock. Inseriscilo/Inseriscili e riprova.
  • deviceNotFound : <device(s)> non <is/are> disponibile. Prova a configurarlo di nuovo. Suggerimento:assicurati che il tuo backend mantenga sempre sincronizzato Home Graph. Chiama requestSync ogni volta che vengono aggiunti o rimossi dispositivi.
  • deviceNotMounted : Mi dispiace, sembra che <device(s)> non possa farlo perché non <it/they> <is/are> montato.
  • deviceNotReady : <device(s)> non <is/are> pronto.
  • deviceStuck : <device(s)> <is/are> bloccato e ha bisogno del tuo aiuto.
  • deviceTampered : <device(s)> <has/have> been tampered with.
  • deviceThermalShutdown : Mi dispiace, sembra che <dispositivo/i> si sia/siano spento/i a causa delle temperature estreme.
  • directResponseOnlyUnreachable : <device(s)> non <supporta/supportano> il controllo remoto.
  • disarmFailure : Non è stato possibile disarmare <dispositivo/i>.
  • discreteOnlyOpenClose : Mi dispiace, <device(s)> può essere solo aperto o chiuso completamente.
  • dispenseAmountAboveLimit : <dispositivo/i> non può erogare una quantità così elevata.
  • dispenseAmountBelowLimit : <device(s)> non può erogare una quantità così bassa.
  • dispenseAmountRemainingExceeded : <device(s)> non ha abbastanza <dispense item> per farlo.
  • dispenseFractionalAmountNotSupported : <device(s)> non può erogare frazioni di <dispense item>.
  • dispenseFractionalUnitNotSupported : <device(s)> non supporta frazioni di questa unità per <dispense item>.
  • dispenseUnitNotSupported : <device(s)> non supporta l'unità per <dispense item>.
  • doorClosedTooLong : Lo sportello di <device(s)> è chiuso da un po'. Apri lo sportello, assicurati che ci sia qualcosa all'interno e riprova.
  • emergencyHeatOn : <device(s)> <is/are> in modalità Riscaldamento di emergenza, quindi <it/they> dovranno essere regolati manualmente.
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : <device(s)> non riesce ad arrivare in quella stanza. Spostalo/i sul pavimento giusto e riprova.
  • functionNotSupported : In realtà, <device(s)> non <doesn't/don't> supporta questa funzionalità. Suggerimento:assicurati che la risposta SYNC rifletta con precisione le funzionalità del dispositivo.
  • genericDispenseNotSupported : Devo sapere cosa vuoi erogare. Riprova con il nome dell'articolo.
  • hardError : Mi dispiace, si è verificato un problema e non riesco a controllare il dispositivo per la casa.
  • hardError : Mi dispiace, si è verificato un problema e non riesco a controllare il dispositivo per la casa.
  • inAutoMode : <device(s)> <is/are> currently set to auto mode. Per modificare la temperatura, devi passare a un'altra modalità.
  • inAwayMode : <device(s)> <is/are> currently set to away mode. Per controllare il termostato, dovrai passare manualmente alla modalità A casa utilizzando l'app Nest su uno smartphone, un tablet o un computer.
  • inDryMode : <device(s)> <is/are> attualmente impostat{0, choice, 1#o|2#i} in modalità deumidificazione. Per modificare la temperatura, devi passare a un'altra modalità.
  • inEcoMode : <device(s)> <is/are> attualmente impostato/i sulla modalità Eco. Per modificare la temperatura, devi passare a un'altra modalità.
  • inFanOnlyMode : <device(s)> <is/are> attualmente impostato/i sulla modalità Solo ventola. Per modificare la temperatura, devi passare a un'altra modalità.
  • inHeatOrCool : <device(s)> non <is/are> in modalità Caldo/Freddo.
  • inHumidifierMode : <device(s)> <is/are> attualmente impostato/i sulla modalità umidificatore. Per modificare la temperatura, devi passare a un'altra modalità.
  • inOffMode : <device(s)> <is/are> currently off. To change the temperature, you'll need to switch <it/them> to a different mode.
  • inPurifierMode : <device(s)> <is/are> currently set to purifier mode. Per modificare la temperatura, devi passare a un'altra modalità.
  • inSleepMode : <device(s)> <is/are> in modalità di sospensione. Riprova più tardi.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • lockFailure : Non è stato possibile bloccare <device(s)>. Suggerimento:controlla se ci sono inceppamenti fisici, batteria in esaurimento o guasti al motore della serratura.
  • lockedState : <device(s)> <is/are> currently locked.
  • lockedToRange : La temperatura è al di fuori dell'intervallo bloccato su <dispositivo/i>.
  • 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 : Mi dispiace, sembra che <device(s)> <is/are> non <abbia/abbiano> un accessorio necessario. Sistemalo e riprova.
  • needsBin : Mi dispiace, sembra che <device(s)> <is/are> senza contenitore. Sistemalo e riprova.
  • needsPads : <device(s)> <need(s)> nuove pastiglie.
  • needsSoftwareUpdate : <device(s)> <need(s)> un aggiornamento software.
  • needsWater : <device(s)> <need(s)> acqua.
  • networkProfileNotRecognized : Mi dispiace, non riconosco "<network profile>" su <device(s)>. Suggerimento: verifica che la stringa del nome del profilo corrisponda ai profili supportati nella risposta SYNC.
  • networkSpeedTestInProgress : Sto già testando la velocità della rete <network>.
  • noAvailableApp : Mi dispiace, sembra che <app name> non sia disponibile.
  • noAvailableChannel : Mi dispiace, sembra che il canale <channel name> non sia disponibile.
  • noChannelSubscription : Mi dispiace, al momento non disponi di un abbonamento al canale <channel name>.
  • noTimerExists : Mi dispiace, non ci sono timer impostati per <device(s)>.
  • notSupported : Mi dispiace, questa modalità non è disponibile per <device(s)>.
  • obstructionDetected : <device(s)> ha rilevato un'ostruzione.
  • offline , deviceOffline : Mi dispiace, sembra che <device(s)> non <is/are> disponibile al momento.
  • onRequiresMode : Specifica la modalità che vuoi attivare.
  • passphraseIncorrect : Mi dispiace, il PIN non è corretto.
  • percentOutOfRange : Mi dispiace, non posso impostare <device(s)> su <percent>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Non ho aperto <dispositivo/i> perché ho rilevato pioggia.
  • rangeTooClose : Queste temperature sono troppo vicine per un intervallo Caldo • Freddo per <device(s)>. Scegli temperature più distanti.
  • relinkRequired : Mi dispiace, si è verificato un problema con il tuo account. Usa l'app Google Home o l'app di assistenza per ricollegare <device(s)>. Suggerimento: assicurati che il tuo server restituisca questo codice quando un token di aggiornamento non è più valido in modo permanente.
  • remoteSetDisabled :
    • Parametro facoltativo errorCodeReason
    • currentlyArmed - Mi dispiace, il sistema di sicurezza è già abilitato, quindi per fare qualsiasi modifica devi utilizzare <device(s)> o l'app.
    • remoteUnlockNotAllowed - Mi dispiace, non posso sbloccare <dispositivo/i> da remoto.
    • remoteControlOff - Al momento questa azione è disattivata. Attiva il controllo remoto su <dispositivo/i> e riprova.
    • childSafetyModeActive - Questa azione è disattivata per <dispositivo/i> quando è attiva la modalità protezione bambini.
  • roomsOnDifferentFloors : <device(s)> non riesce ad arrivare in quelle stanze perché sono su piani diversi.
  • safetyShutOff : <device(s)> <is/are> in modalità di spegnimento di sicurezza, quindi <it/they> dovranno essere regolati manualmente.
  • sceneCannotBeApplied : Mi dispiace, non è possibile applicare <device(s)>. Suggerimento:controlla lo stato interno delle scene dell'utente nel cloud del partner.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • softwareUpdateNotAvailable : Mi dispiace, non è disponibile alcun aggiornamento software su <device(s)>.
  • startRequiresTime : Per poterlo fare devi dirmi quanto tempo impostare per <device(s)>.
  • stillCoolingDown : <device(s)> <is/are> still cooling down.
  • stillWarmingUp : <device(s)> <is/are> still warming up.
  • streamUnavailable : Mi dispiace, sembra che lo stream non sia al momento disponibile da <device(s)>.
  • streamUnplayable : Mi dispiace, al momento non posso riprodurre lo stream da <device(s)>. Suggerimento: Verificare la segnalazione WebRTC/HLS e assicurarsi che l'URL dello stream sia valido.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • targetAlreadyReached : Mi dispiace, sembra che questa sia già la temperatura attuale.
  • timerValueOutOfRange : <device(s)> non può essere impostato per questo periodo di tempo.
  • tooManyFailedAttempts : Spiacenti, troppi tentativi non riusciti. Vai all'app del tuo dispositivo per completare l'azione.
  • transientError : Mi dispiace, si è verificato un problema durante il controllo di <dispositivo/i>. Riprova. Suggerimento: nella maggior parte dei casi, questi errori si manifestano come un'interruzione della connessione a un dispositivo o a un servizio. Inoltre, se non è possibile aprire nuove connessioni a un server.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • unableToLocateDevice : Non sono riuscito a trovare <device(s)>. Suggerimento: controlla la connettività locale del dispositivo (Wi-Fi/Bluetooth).
  • unknownFoodPreset : <device(s)> non supporta quel programma predefinito per alimenti.
  • unlockFailure : <device(s)> non è stato possibile sbloccare i dispositivi. Suggerimento:controlla se ci sono inceppamenti dell'hardware, batteria in esaurimento o inserimenti di PIN non validi.
  • unpausableState : Al momento non è possibile mettere in pausa <device(s)>.
  • userCancelled : ok
  • valueOutOfRange : Non è possibile impostare <device(s)> su questa temperatura.

Segnalazioni sullo stato online e offline

Quando un dispositivo è offline, devi segnalare <code{"online": code="" dir="ltr" false}<="" translate="no"> a Report State entro cinque minuti dal comportamento del dispositivo. Al contrario, quando un dispositivo torna online, devi segnalare <code{"online": code="" dir="ltr" translate="no" true}<=""> a Report State entro cinque minuti dal comportamento del dispositivo. Ogni volta che un dispositivo torna online, il partner deve segnalare tutti gli stati attuali del dispositivo utilizzando l'API reportStateAndNotification. Questo esempio mostra che un tipo di dispositivo light è online e segnala tutti gli stati attuali del dispositivo.
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

Eccezioni

Devi restituire un'eccezione quando si verifica un problema o un avviso associato a un comando. Il comando potrebbe riuscire o non riuscire.

Se il comando è andato a buon fine (stato = "SUCCESS"), segnala le eccezioni utilizzando il tratto StatusReport (per i dispositivi diversi da quello di destinazione) o restituendo un exceptionCode appropriato (per il dispositivo di destinazione).

Ad esempio, se il filtro per lanugine dell'asciugatrice è pieno, l'utente può comunque avviare l'asciugatrice, ma potresti volerlo avvisare di questo stato. Analogamente, quando un dispositivo ha la batteria in esaurimento, ma non scarica, puoi comunque eseguire un comando, ma devi informare l'utente che la batteria del dispositivo è in esaurimento.

Se il comando non va a buon fine a causa di eccezioni, lo stato deve essere "EXCEPTIONS" e le eccezioni devono essere segnalate utilizzando il tratto StatusReport.

Eccezione non bloccante (SUCCESS) relativa al dispositivo di destinazione

Questo esempio riguarda la chiusura della porta:

La batteria della serratura della porta d'ingresso è in esaurimento. Chiudo la serratura della porta principale.

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

Eccezione non di blocco (SUCCESS) relativa a un altro dispositivo che utilizza StatusReport

Questo esempio riguarda l'abilitazione di un sistema di sicurezza: Ok, abilito il sistema di sicurezza. La finestra anteriore è aperta.

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

Eccezione di blocco relativa a un altro dispositivo che utilizza 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"
          }
        ]
      }
    }
  }
}

Elenco di eccezioni

Le seguenti eccezioni genereranno il TTS associato sul dispositivo.

  • 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 : È stato rilevato monossido di carbonio in <house name>.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceMoved : <device(s)> <was/were> spostato/i.
  • deviceOpen : <device(s)> <is/are> open.
  • deviceTampered : <device(s)> <has/have> been tampered with.
  • deviceUnplugged : <device(s)> <is/are> unplugged.
  • floorUnreachable : <device(s)> non riesce ad arrivare in quella stanza. Spostalo/i sul pavimento giusto e riprova.
  • hardwareFailure : <device(s)> <has/have> a hardware problem.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • isBypassed : <device(s)> <is/are> attualmente ignorato/i.
  • lowBattery : <device(s)> <has/have> low battery.
  • motionDetected : <device(s)> <detect(s)> movimento.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> un aggiornamento software.
  • needsWater : <device(s)> <need(s)> acqua.
  • networkJammingDetected : la connessione di rete di casa a <device(s)> non funziona correttamente.
  • noIssuesReported : <device(s)> non ha segnalato problemi.
  • roomsOnDifferentFloors : <device(s)> non riesce ad arrivare in quelle stanze perché sono su piani diversi.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • smokeDetected : È stato rilevato del fumo in <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)> una perdita d'acqua.
</code{"online":></code{"online":>