Erreurs et exceptions

Ce document liste les erreurs et exceptions officiellement prises en charge pour les appareils connectés. Veuillez utiliser ces codes d'erreur et d'exception dans la réponse de l'intent ou dans les notifications, si vous les avez implémentées, afin que l'Assistant Google alerte les utilisateurs finaux sur les problèmes liés à une commande ou à un état d'appareil donnés. Si la réponse contient une mise en forme incorrecte ou errorCode, l'Assistant Google affiche un message d'erreur générique, par exemple "Désolé, appareil n'est pas disponible pour le moment".

Erreurs

Vous devez renvoyer un code d'erreur lorsqu'un problème entraîne l'échec d'une requête d'exécution ou de requête. Par exemple, si une serrure de porte est bloquée et ne peut pas être verrouillée ni déverrouillée, une erreur concernant cet état doit être renvoyée à l'utilisateur.

Les codes d'erreur peuvent être associés au niveau de l'appareil ou au niveau global. Par exemple, si un utilisateur possède de nombreuses lumières d'un même fournisseur et qu'elles sont contrôlées par un hub, lorsque l'utilisateur demande d'éteindre toutes ses lumières, le fournisseur peut renvoyer une erreur au niveau de l'appareil si une seule lumière est hors connexion, ou une erreur au niveau global si l'ensemble de son hub est hors connexion et qu'aucune lumière ne peut être contrôlée. Si tous les appareils sont hors connexion, il n'y a aucune différence entre l'utilisation d'erreurs au niveau global ou au niveau de l'appareil.

En résumé :

  • Erreur au niveau global : tous les appareils de la réponse présentent la même erreur
  • Erreur au niveau local : réponse mixte avec des cas d'erreur et de réussite

Erreurs au niveau mondial

L'extrait JSON suivant montre comment renvoyer des erreurs au niveau global dans une réponse QUERY ou EXECUTE.

Voici un exemple d'erreur deviceOffline au niveau mondial due au fait que le hub est hors connexion :

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

Voici un exemple d'erreur au niveau mondial inSoftwareUpdate due à la mise à jour du hub :

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

Erreurs au niveau de l'appareil

Réponse QUERY

L'extrait JSON suivant montre comment renvoyer des erreurs au niveau de l'appareil dans la réponse QUERY.

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

Réponse EXECUTE

L'extrait de code JSON suivant montre comment renvoyer des erreurs au niveau de l'appareil dans la réponse 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
        }
      }
    ]
  }
}

Notifications avec erreurs

Notification proactive

L'extrait de code JSON suivant montre comment signaler les erreurs au niveau de l'appareil dans une notification proactive.

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

Réponse complémentaire

L'extrait JSON suivant montre comment signaler des erreurs au niveau de l'appareil dans une réponse complémentaire.

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

Liste d'erreurs

Les erreurs suivantes génèrent le message TTS associé sur l'appareil.

  • aboveMaximumLightEffectsDuration : La durée est supérieure au maximum autorisé (une heure). Veuillez réessayer.
  • aboveMaximumTimerDuration : Je ne peux définir <device(s)> que pour une durée maximale de <time period>.
  • actionNotAvailable : Malheureusement, je ne peux pas faire ça pour le moment.
  • actionUnavailableWhileRunning : ;<device(s)> <is/are> actuellement en cours d'exécution. Je ne peux donc pas apporter de modifications.
  • alreadyArmed : <device(s)> <is/are> déjà armé(s).
  • alreadyAtMax : ;<device(s)> <is/are> déjà réglé(s) sur la température maximale.
  • alreadyAtMin : ;<device(s)> <is/are> déjà réglé(s) sur la température minimale.
  • alreadyClosed : <device(s)> <is/are> already closed.
  • alreadyDisarmed : <device(s)> <is/are> déjà désarmé(s).
  • alreadyDocked : ;<device(s)> <is/are> déjà ancré(s).
  • alreadyInState : <device(s)> <is/are> déjà dans cet état.
  • alreadyLocked : <device(s)> <is/are> déjà verrouillé(s).
  • alreadyOff : <device(s)> <is/are> already off.
  • alreadyOn : <device(s)> <is/are> déjà allumé(s).
  • alreadyOpen : ;<device(s)> <is/are> déjà ouvert(s).
  • 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> déjà déverrouillé(s).
  • ambiguousZoneName : Désolé, <device(s)> ne parvient pas à identifier la zone dont vous parlez. Veuillez vérifier que vos zones portent des noms uniques, puis réessayez.
  • amountAboveLimit : La quantité est supérieure au maximum autorisé par <device(s)>.
  • appLaunchFailed : Désolé, impossible de lancer <nom de l'application> sur <appareil(s)>.
  • armFailure : <device(s)> n'a pas pu être activé.
  • armLevelNeeded : Je ne sais pas à quel niveau d'activation régler <device(s)>. Essayez de dire "Règle <appareil(s)> sur <sécurité faible>" ou "Règle <appareil(s)> sur <sécurité élevée>".
  • authFailure : Je ne trouve pas <device(s)>. Vérifiez dans l'application que votre ou vos <device/devices> <is/are> entièrement configuré(s).
  • bagFull : ;<device(s)> <a un sac plein/ont des sacs pleins>. Veuillez le(s) vider et réessayer.
  • belowMinimumLightEffectsDuration : La durée est inférieure au minimum autorisé (cinq minutes). Veuillez réessayer.
  • belowMinimumTimerDuration : Je ne peux pas régler <device(s)> pour une durée aussi courte. Veuillez réessayer.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : Désolé, je n'ai pas pu annuler l'activation de <appareil(s)>.
  • cancelTooLate : Malheureusement, il est trop tard pour annuler. Utilisez plutôt <appareil(s)> ou l'application.
  • channelSwitchFailed : Malheureusement, je n'ai pas pu mettre la chaîne <channel name>. Veuillez réessayer plus tard.
  • chargerIssue : Malheureusement, <device(s)> <has/have> <a charger issue/charger issues>.
  • commandInsertFailed : Impossible de traiter les commandes pour <device(s)>.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : Les degrés demandés sont en dehors de la plage pour <device(s)>.
  • deviceAlertNeedsAssistance : <device(s)> <has/have> an active alert and <need(s)> your assistance.
  • deviceAtExtremeTemperature : <device(s)> <is/are> à <an extreme temperature/extreme temperatures>.
  • deviceBusy : Malheureusement, il semble que <device(s)> est déjà en train d'effectuer une action pour le moment.
  • deviceCharging : Malheureusement, <device(s)> ne peut pas effectuer cette action, car (ha_shared.ItsTheyre size=$item.devices.total_device_count) en charge.
  • deviceClogged : Malheureusement, il semble que <device(s)> est bloqué.
  • deviceCurrentlyDispensing : <device(s)> est déjà en train d'assurer la distribution.
  • deviceDoorOpen : Le panneau est ouvert sur <device(s)>. Veuillez le fermer et réessayer.
  • deviceHandleClosed : La poignée est fermée sur <device(s)>. Veuillez l'ouvrir et réessayer.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceLidOpen : Le couvercle de <device(s)> est ouvert. Veuillez le fermer et réessayer.
  • deviceNeedsRepair : ;<device(s)> <need(s)> to be repaired. Veuillez contacter votre concessionnaire réparateur local.
  • deviceNotDocked : Malheureusement, il semble que <device(s)> <isn't/aren't> sur sa station d'accueil. Veuillez placer <it/them> sur la base et réessayer.
  • deviceNotFound : ;<device(s)> <is/are>n't available. Je vous suggère de <le/les> configurer à nouveau.
  • deviceNotMounted : Malheureusement, il semble que <device(s)> ne <puisse/puissent> pas faire cela, car <il/ils> n'<est/sont> pas installé(s).
  • deviceNotReady : <device(s)> <is/are>n't ready.
  • deviceStuck : ;<device(s)> <is/are> bloqué(s) et a/ont besoin de votre aide.
  • deviceTampered : <device(s)> <has/have> été forcé(s).
  • deviceThermalShutdown : Malheureusement, il semble que <device(s)> se soit éteint en raison de températures extrêmes.
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
  • disarmFailure : <device(s)> n'a pas pu être désarmé.
  • discreteOnlyOpenClose : Malheureusement, <device(s)> ne peut/peuvent être ouvert(e)(s) ou fermé(e)(s) complètement.
  • dispenseAmountAboveLimit : <device(s)> ne peut pas distribuer une si grande quantité.
  • dispenseAmountBelowLimit : <device(s)> ne peut pas distribuer une si petite quantité.
  • dispenseAmountRemainingExceeded : <device(s)> n'a pas assez de <dispense item> pour cela.
  • dispenseFractionalAmountNotSupported : <device(s)> ne peut pas distribuer de fractions de <dispense item>.
  • dispenseFractionalUnitNotSupported : <device(s)> n'accepte pas les fractions de cette unité pour <dispense item>.
  • dispenseUnitNotSupported : ;<device(s)> n'accepte pas cette unité pour <dispense item>.
  • doorClosedTooLong : La porte de <device(s)> n'a pas été ouverte depuis un certain temps. Veuillez l'ouvrir et vérifier s'il y a bien quelque chose dans le micro-ondes, puis réessayer.
  • emergencyHeatOn : <device(s)> <is/are> en mode Chauffage d'urgence. Vous devez modifier<ses/leurs> paramètres manuellement.
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : <device(s)> ne peut pas atteindre cette pièce. Veuillez le déplacer jusqu'à l'étage concerné et réessayer.
  • functionNotSupported : En fait, <device(s)> <doesn't/don't> support that functionality.
  • genericDispenseNotSupported : J'ai besoin de savoir ce que vous voulez distribuer. Veuillez réessayer en précisant le nom de ce qui doit être distribué.
  • hardError : Malheureusement, une erreur s'est produite. Je ne peux donc pas contrôler votre appareil.
  • hardError : Malheureusement, une erreur s'est produite. Je ne peux donc pas contrôler votre appareil.
  • inAutoMode : <device(s)> <is/are> actuellement défini(s) sur le mode automatique. Pour modifier la température, vous devez changer de mode.
  • inAwayMode : <device(s)> <is/are> actuellement en mode Absent. Pour contrôler votre thermostat, vous devez le passer en mode Chez moi depuis l'application Nest sur votre téléphone, tablette ou ordinateur.
  • inDryMode : <device(s)> <is/are> actuellement en mode Séchage. Pour modifier la température, vous devez changer de mode.
  • inEcoMode : <device(s)> <is/are> actuellement en mode Éco. Pour modifier la température, vous devez changer de mode.
  • inFanOnlyMode : <device(s)> <is/are> actuellement en mode Ventilation uniquement. Pour modifier la température, vous devez changer de mode.
  • inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
  • inHumidifierMode : <device(s)> <is/are> actuellement en mode humidificateur. Pour modifier la température, vous devez changer de mode.
  • inOffMode : <device(s)> <is/are> actuellement éteint(s). Pour modifier la température, vous devez changer de mode.
  • inPurifierMode : <device(s)> <is/are> actuellement défini(s) sur le mode Purificateur. Pour modifier la température, vous devez changer de mode.
  • inSleepMode : <device(s)> <is/are> en mode veille. Veuillez réessayer plus tard.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • lockFailure : <device(s)> n'a pas pu être verrouillé.
  • lockedState : <device(s)> <is/are> actuellement verrouillé(s).
  • lockedToRange : La température se situe en dehors de la plage définie pour <appareil(s)>.
  • lowBattery : <device(s)> <has/have> low battery.
  • maxSettingReached : <device(s)> <is/are> already set to the highest setting.
  • maxSpeedReached : <device(s)> <is/are> déjà réglé(s) sur la vitesse maximale.
  • minSettingReached : <device(s)> <is/are> déjà réglé(s) sur le paramètre le plus bas.
  • minSpeedReached : <device(s)> <is/are> déjà réglé(s) sur la vitesse minimale.
  • monitoringServiceConnectionLost : <device(s)> <has/have> perdu <its/their> connexion au service de surveillance.
  • needsAttachment : Malheureusement, il semble qu'il manque une pièce indispensable sur <device(s)>. Veuillez le remettre en place et réessayer.
  • needsBin : Malheureusement, il semble qu'il manque un bac sur <device(s)>. Veuillez le remettre en place et réessayer.
  • needsPads : ;<device(s)> <need(s)> de nouvelles plaquettes.
  • needsSoftwareUpdate : <device(s)> <need(s)> une mise à jour logicielle.
  • needsWater : <device(s)> <need(s)> de l'eau.
  • networkProfileNotRecognized : Pardon, je ne reconnais pas "<network profile>" sur <device(s)>.
  • networkSpeedTestInProgress : Je suis déjà en train de tester la <speed/speeds> du réseau <network>.
  • noAvailableApp : Désolé, il semble que <app name> ne soit pas disponible.
  • noAvailableChannel : Malheureusement, il semble que la chaîne <channel name> ne soit pas disponible.
  • noChannelSubscription : Malheureusement, vous n'êtes pas abonné à la chaîne <channel name> pour le moment.
  • noTimerExists : Malheureusement, il semble qu'aucun minuteur ne soit réglé sur <device(s)>.
  • notSupported : Désolé, ce mode n'est pas disponible pour <device(s)>.
  • obstructionDetected : ;<device(s)> a détecté un obstacle.
  • offline , deviceOffline : Malheureusement, il semble que <device(s)> <is/are>n't pas disponible pour le moment.
  • onRequiresMode : Veuillez indiquer le mode que vous souhaitez activer.
  • passphraseIncorrect : Malheureusement, il semble que ce code est incorrect.
  • percentOutOfRange : Désolé, je ne peux pas régler <appareil(s)> sur <pourcentage>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Je n'ai pas ouvert <appareil(s)>, car de la pluie a été détectée.
  • rangeTooClose : Ces températures sont trop proches pour constituer une plage de chauffage/climatisation pour <device(s)>. Choisissez des températures plus éloignées.
  • relinkRequired : Malheureusement, il semble y avoir un problème avec votre compte. Veuillez utiliser l'application Assistant ou Google Home pour associer de nouveau <device(s)>.
  • remoteSetDisabled :
    • Paramètre facultatif errorCodeReason
    • currentlyArmed – Pardon, la sécurité étant déjà activée, vous devez utiliser <device(s)> ou l'application pour apporter des modifications.
    • remoteUnlockNotAllowed – Désolé, je ne peux pas déverrouiller <appareil(s)> à distance.
    • remoteControlOff – Cette action est actuellement désactivée. Veuillez activer la commande à distance sur <device(s)>, puis réessayez.
    • childSafetyModeActive – Cette action est désactivée pour <device(s)> lorsque la sécurité enfant est activée.
  • roomsOnDifferentFloors : <device(s)> ne peut pas atteindre ces pièces, car elles sont situées à différents étages.
  • safetyShutOff : <device(s)> <is/are> en mode Arrêt d'urgence. Vous devez modifier<ses/leurs> paramètres manuellement.
  • sceneCannotBeApplied : Désolé, <device(s)> ne peut pas être appliqué.
  • securityRestriction : <device(s)> <has/have> une restriction de sécurité.
  • softwareUpdateNotAvailable : Désolé, aucune mise à jour logicielle n'est disponible sur <device(s)>.
  • startRequiresTime : Pour cela, vous devez me dire combien de temps vous voulez faire marcher <device(s)>.
  • stillCoolingDown : <device(s)> <is/are> toujours en train de refroidir.
  • stillWarmingUp : ;<device(s)> <is/are> toujours en train de chauffer.
  • streamUnavailable : Malheureusement, il semble que le flux vidéo de <device(s)> ne soit pas disponible pour le moment.
  • streamUnplayable : Malheureusement, je ne peux pas lire le flux vidéo de <device(s)> pour le moment.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • targetAlreadyReached : Malheureusement, il semble que ce soit déjà la température actuelle.
  • timerValueOutOfRange : Impossible de régler <device(s)> sur cette durée.
  • tooManyFailedAttempts : Malheureusement, vous avez dépassé le nombre de tentatives infructueuses autorisé. Veuillez accéder à l'application de votre appareil pour effectuer cette action.
  • transientError : Malheureusement, une erreur s'est produite lors du contrôle de <device(s)>. Veuillez réessayer.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • unableToLocateDevice : Je n'ai pas réussi à localiser <device(s)>.
  • unknownFoodPreset : <device(s)> n'est pas compatible avec ce préréglage.
  • unlockFailure : <device(s)> n'a pas pu être déverrouillé.
  • unpausableState : Impossible de mettre <device(s)> en pause pour le moment.
  • userCancelled : ok
  • valueOutOfRange : Impossible de régler <device(s)> sur cette température.

Rapports sur l'état en ligne et hors connexion

Lorsqu'un appareil est hors connexion, vous devez signaler <code{"online": code="" dir="ltr" false}<="" translate="no"> à Signaler l'état dans les cinq minutes suivant le comportement de l'appareil. À l'inverse, lorsqu'un appareil revient à un état en ligne, vous devez signaler <code{"online": code="" dir="ltr" translate="no" true}<=""> à Signaler l'état dans les cinq minutes suivant le comportement de l'appareil. Chaque fois qu'un appareil se reconnecte, le partenaire doit signaler tous les états actuels de l'appareil à l'aide de l'API reportStateAndNotification. Cet exemple montre qu'un type d'appareil light est en ligne et signale tous les états actuels de l'appareil.
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

Exceptions

Vous devez renvoyer une exception en cas de problème ou d'alerte associés à une commande. La commande peut réussir ou échouer.

Si la commande a réussi (état = "SUCCESS"), signalez les exceptions à l'aide du trait StatusReport (pour les appareils autres que l'appareil cible) ou en renvoyant un exceptionCode approprié (pour l'appareil cible).

Par exemple, si le filtre à peluches du sèche-linge est plein, l'utilisateur peut toujours démarrer l'appareil, mais vous pouvez l'avertir de cet état. De même, lorsqu'un appareil a une batterie faible, mais pas vide, vous pouvez toujours exécuter une commande, mais vous devez informer l'utilisateur que la batterie de l'appareil est faible.

Si la commande échoue en raison d'exceptions, l'état doit être "EXCEPTIONS", et les exceptions doivent être signalées à l'aide du trait StatusReport.

Exception non bloquante (SUCCESS) concernant l'appareil cible

Voici un exemple pour verrouiller la porte :

La batterie de la serrure de la porte d'entrée est faible. Je verrouille la porte d'entrée.

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

Exception non bloquante (SUCCESS) concernant un autre appareil utilisant StatusReport

Voici un exemple d'activation d'un système de sécurité : OK, j'active le système de sécurité. La fenêtre de devant est ouverte.

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

Exception de blocage concernant un autre appareil utilisant 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"
          }
        ]
      }
    }
  }
}

Liste d'exceptions

Les exceptions suivantes génèrent le TTS associé sur l'appareil.

  • bagFull : ;<device(s)> <a un sac plein/ont des sacs pleins>. Veuillez le(s) vider et réessayer.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • carbonMonoxideDetected : Du monoxyde de carbone a été détecté dans <nom de la maison>.
  • deviceAtExtremeTemperature : <device(s)> <is/are> à <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> été forcé(s).
  • deviceUnplugged : <device(s)> <is/are> débranché(s).
  • floorUnreachable : <device(s)> ne peut pas atteindre cette pièce. Veuillez le déplacer jusqu'à l'étage concerné et réessayer.
  • hardwareFailure : <device(s)> <has/have> un problème matériel.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • isBypassed : <device(s)> <is/are> actuellement contourné(s).
  • lowBattery : <device(s)> <has/have> low battery.
  • motionDetected : <device(s)> <detect(s)> un mouvement.
  • needsPads : ;<device(s)> <need(s)> de nouvelles plaquettes.
  • needsSoftwareUpdate : <device(s)> <need(s)> une mise à jour logicielle.
  • needsWater : <device(s)> <need(s)> de l'eau.
  • networkJammingDetected  : La connexion entre le réseau domestique et <device(s)> ne fonctionne pas correctement.
  • noIssuesReported : <device(s)> n'a signalé aucun problème.
  • roomsOnDifferentFloors : <device(s)> ne peut pas atteindre ces pièces, car elles sont situées à différents étages.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> une restriction de sécurité.
  • smokeDetected : De la fumée a été détectée dans <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)> une fuite d'eau.
</code{"online":></code{"online":>