In diesem Dokument werden die offiziell unterstützten Fehler und Ausnahmen für Smart-Home-Geräte aufgeführt. Verwenden Sie diese Fehler- und Ausnahmecodes in der Intent-Antwort oder in Benachrichtigungen, falls Sie diese implementiert haben, damit Google Assistant Endnutzer auf Probleme im Zusammenhang mit einem bestimmten Befehl oder Gerätestatus aufmerksam macht. Wenn die Antwort eine falsche Formatierung oder errorCode
enthält, gibt Google Assistant den Nutzern eine allgemeine Fehlermeldung aus, z. B. „Gerät ist derzeit nicht verfügbar“.
Fehler
Sie sollten einen Fehlercode zurückgeben, wenn ein Problem dazu führt, dass eine Ausführungs- oder Abfrageanfrage fehlschlägt. Wenn beispielsweise ein Türschloss klemmt und nicht ver- oder entriegelt werden kann, sollte dem Nutzer eine Fehlermeldung zu diesem Zustand angezeigt werden.
Fehlercodes können auf Geräteebene oder global angehängt werden. Wenn ein Nutzer beispielsweise viele Lampen von einem Anbieter hat, die über einen Hub gesteuert werden, und er alle Lampen ausschalten möchte, kann der Anbieter einen Fehler auf Geräteebene zurückgeben, wenn eine einzelne Lampe offline ist, oder einen Fehler auf globaler Ebene, wenn der gesamte Hub offline ist und keine Lampen gesteuert werden können. Wenn alle Geräte offline sind, gibt es keinen Unterschied zwischen der Verwendung von Fehlern auf globaler Ebene oder auf Geräteebene.
Zusammenfassung:
- Fehler auf globaler Ebene: Alle Geräte in der Antwort haben denselben Fehler.
- Fehler auf lokaler Ebene: gemischte Antwort mit Fehler- und Erfolgsfällen
Fehler auf globaler Ebene
Das folgende JSON-Snippet zeigt, wie Sie Fehler auf globaler Ebene in einer QUERY- oder EXECUTE-Antwort zurückgeben.
Ein Beispiel für einen Fehler auf globaler Ebene deviceOffline
aufgrund des Hubs ist, dass der Hub offline ist:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "deviceOffline", "status" : "ERROR" } }
Ein Beispiel für einen Fehler auf globaler Ebene inSoftwareUpdate
aufgrund der Aktualisierung des Hubs:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "inSoftwareUpdate", "status" : "ERROR" } }
Fehler auf Geräteebene
QUERY-Antwort
Das folgende JSON-Snippet zeigt, wie du Fehler auf Geräteebene in der QUERY-Antwort zurückgibst.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "errorCode": "deviceOffline", "status" : "ERROR" }, "device-id-2": { "errorCode": "deviceOffline", "status" : "ERROR" } } } }
EXECUTE-Antwort
Das folgende JSON-Snippet zeigt, wie du Fehler auf Geräteebene in der EXECUTE-Antwort zurückgibst.
{ "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 } } ] } }
Benachrichtigungen mit Fehlern
Proaktive Benachrichtigung
Das folgende JSON-Snippet zeigt, wie Sie Fehler auf Geräteebene in einer proaktiven Benachrichtigung melden.
{ "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" } } } } } }
Folgeantwort
Das folgende JSON-Snippet zeigt, wie du Fehler auf Geräteebene in einer Folgeantwort meldest.
{ "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" } } } } } } }
Fehlerliste
Die folgenden Fehler führen zur entsprechenden Sprachausgabe auf dem Gerät.
- aboveMaximumLightEffectsDuration : Das übersteigt die maximale Dauer von 1 Stunde. Versuchen Sie es bitte noch einmal.
- aboveMaximumTimerDuration : Ich kann <device(s)> nur für bis zu <time period> einstellen.
- actionNotAvailable : Tut mir leid, das kann ich gerade nicht tun.
- actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
- alreadyArmed : <device(s)> <is/are> already armed.
- 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> already locked.
- alreadyOff : <device(s)> <is/are> already off.
- alreadyOn : <device(s)> <is/are> already on.
- alreadyOpen : <device(s)> <is/are> already open.
- alreadyPaused : Die Wiedergabe auf<device(s)> <is/are> bereits pausiert.
- alreadyStarted : <device(s)> <is/are> already started.
- alreadyStopped : <device(s)> <is/are> already stopped.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : Tut mir leid, <device(s)> kann nicht erkennen, welche Zone du meinst. Bitte sorge dafür, dass jede Zone einen eindeutigen Namen hat, und versuche es noch einmal.
- amountAboveLimit : So viel passt in das/die <device(s)> nicht rein.
- appLaunchFailed : Sorry, failed to launch <app name> on <device(s)>.
- armFailure : <device(s)> konnten nicht scharf geschaltet werden.
- armLevelNeeded : Ich bin nicht sicher, auf welches Sicherheitsniveau ich <device(s)> setzen soll. Sag zum Beispiel „Setze <device(s)> auf <low security>“ oder „Setze <device(s)> auf <high security>“.
- authFailure : Ich kann keine Verbindung zu <device(s)> herstellen. Prüfe in der App, ob <device/devices> vollständig eingerichtet <is/are>.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again. (<Gerät(e)> <hat/haben> <einen vollen Beutel/volle Beutel>. Bitte leere <es/sie> und versuche es noch einmal.)
- belowMinimumLightEffectsDuration : Das ist kürzer als die Mindestdauer von 5 Minuten. Versuchen Sie es bitte noch einmal.
- belowMinimumTimerDuration : Eine so kurze Zeit kann ich bei <device(s)> nicht einstellen. Versuchen Sie es bitte noch einmal.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : Sorry, I couldn't cancel arming <device(s)>.
- cancelTooLate : Der Vorgang kann leider nicht mehr abgebrochen werden. Verwende stattdessen <device(s)> oder die App.
- channelSwitchFailed : Tut mir leid, ich kann nicht zu Kanal <channel name> wechseln. Versuche es später noch einmal.
- chargerIssue : Tut mir leid, das <device(s)> <has/have> <a charger issue/charger issues>.
- commandInsertFailed : Befehle für <device(s)> können nicht verarbeitet werden.
- deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : Die angeforderten Grad liegen außerhalb des Bereichs für <device(s)>.
- 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 : Tut mir leid, anscheinend tut <device(s)> bereits etwas.
- deviceCharging : Tut mir leid, das funktioniert beim <device(s)> nicht, weil (ha_shared.ItsTheyre size=$item.devices.total_device_count) gerade aufgeladen wird.
- deviceClogged : Tut mir leid, anscheinend ist <device(s)> verstopft.
- deviceCurrentlyDispensing : <device(s)> gibt gerade schon etwas aus.
- deviceDoorOpen : Die Tür von <device(s)> ist geöffnet. Schließe sie und versuche es noch einmal.
- deviceHandleClosed : Der Griff ist auf <device(s)> geschlossen. Bitte öffnen Sie ihn und versuchen Sie es noch einmal.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceLidOpen : Der Deckel von <device(s)> ist geöffnet. Schließe ihn und versuche es noch einmal.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. Bitte wende dich an den Support deines Händlers vor Ort.
- deviceNotDocked : Tut mir leid, anscheinend <ist/sind> <device(s)> nicht angedockt. Docke <it/them> bitte an und versuche es noch einmal.
- deviceNotFound : ;<device(s)> <is/are>n't available. Wenn du <it/them> neu einrichtest, wird das Problem möglicherweise behoben.
- deviceNotMounted : Tut mir leid, das funktioniert mit <device(s)> nicht, weil <it/they> <is/are>n't mounted.
- 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 : Tut mir leid, <device(s)> wurde(n) aufgrund extremer Temperaturen ausgeschaltet.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : <device(s)> konnte nicht deaktiviert werden.
- discreteOnlyOpenClose : Tut mir leid, <device(s)> kann nur vollständig geöffnet oder geschlossen werden.
- dispenseAmountAboveLimit : <device(s)> kann eine so große Menge nicht ausgeben.
- dispenseAmountBelowLimit : <device(s)> kann eine so kleine Menge nicht ausgeben.
- dispenseAmountRemainingExceeded : Auf <device(s)> ist nicht genügend <dispense item> vorhanden, um das zu tun.
- dispenseFractionalAmountNotSupported : <device(s)> can't dispense fractions of <dispense item>.
- dispenseFractionalUnitNotSupported : <device(s)> doesn't support fractions of that unit for <dispense item>.
- dispenseUnitNotSupported : <device(s)> doesn't support that unit for <dispense item>.
- doorClosedTooLong : Es ist schon eine Weile her, seit die Tür von <device(s)> geöffnet wurde. Bitte öffne die Tür und sieh nach, ob sich etwas darin befindet, und versuche es dann noch einmal.
- 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)> kann diesen Raum nicht erreichen. Bringe <it/them> bitte auf die richtige Etage und versuche es noch einmal.
- functionNotSupported : Leider <unterstützt/unterstützen> <device(s)> diese Funktion nicht.
- genericDispenseNotSupported : Ich muss wissen, was ausgegeben werden soll. Bitte versuche es noch einmal mit dem Namen des Produkts.
- hardError : Tut mir leid, wegen eines Problems kann ich dein Smart-Home-Gerät nicht steuern.
- hardError : Tut mir leid, wegen eines Problems kann ich dein Smart-Home-Gerät nicht steuern.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- inAwayMode : <device(s)> <is/are> currently set to away mode. Wenn du deinen Thermostat steuern möchtest, musst du mithilfe der Nest App auf einem Smartphone, Tablet oder Computer manuell in den Modus „Zuhause“ wechseln.
- inDryMode : <device(s)> <is/are> currently set to dry mode. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- inEcoMode : <device(s)> <is/are> currently set to eco mode. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : <device(s)> <is/are> currently set to humidifier mode. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- 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. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus wechseln.
- inSleepMode : <device(s)> <is/are> in sleep mode. Bitte versuchen Sie es später noch einmal.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- lockFailure : <device(s)> konnte nicht gesperrt werden.
- lockedState : <device(s)> <is/are> currently locked.
- lockedToRange : Diese Temperatur liegt außerhalb des Bereichs, der auf <device(s)> eingestellt werden kann.
- 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. (<device(s)> <is/are> bereits auf die niedrigste Einstellung eingestellt.)
- 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 : Tut mir leid, anscheinend fehlt <device(s)> ein nötiger Aufsatz. Bring bitte einen an und versuch es noch einmal.
- needsBin : Tut mir leid, anscheinend fehlt <device(s)> <is/are> ein Behälter. Bring bitte einen an und versuch es noch einmal.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkProfileNotRecognized : Tut mir leid, ich erkenne „<network profile>“ auf <device(s)> nicht.
- networkSpeedTestInProgress : Ich teste bereits die <speed/speeds> des <network>.
- noAvailableApp : Tut mir leid, aber <App-Name> ist nicht verfügbar.
- noAvailableChannel : Tut mir leid, der Kanal <channel name> ist nicht verfügbar.
- noChannelSubscription : Tut mir leid, du hast momentan kein Abo für den Kanal <channel name>.
- noTimerExists : Tut mir leid, anscheinend wurde auf <device(s)> kein Timer eingestellt.
- notSupported : Dieser Modus ist für <device(s)> leider nicht verfügbar.
- obstructionDetected : <device(s)> detected an obstruction.
- offline , deviceOffline : Tut mir leid, <device(s)> <is/are> momentan nicht verfügbar.
- onRequiresMode : Bitte gib an, welchen Modus du aktivieren möchtest.
- passphraseIncorrect : Tut mir leid, diese PIN ist falsch.
- percentOutOfRange : Sorry, I can't set <device(s)> to <percent>.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : Ich habe <device(s)> nicht geöffnet, weil Regen festgestellt wurde.
- rangeTooClose : Dieser Temperaturbereich ist für die <device(s)> zu eng. Die Mindest- und die Höchsttemperatur müssen weiter auseinanderliegen.
- relinkRequired : Tut mir leid, anscheinend gibt es ein Problem mit deinem Konto. Verknüpfe <device(s)> bitte noch einmal über die Google Home App oder die Assistant App.
-
remoteSetDisabled
:
- Optionaler Parameter
errorCodeReason
currentlyArmed
– Das Sicherheitssystem ist bereits scharf geschaltet. Du musst <device(s)> oder die App verwenden, um Änderungen vorzunehmen.remoteUnlockNotAllowed
– Tut mir leid, ich kann <device(s)> nicht per Fernzugriff entsperren.remoteControlOff
– Diese Aktion ist derzeit deaktiviert. Aktiviere bitte die Fernbedienung auf <device(s)> und versuche es noch einmal.childSafetyModeActive
– Diese Aktion ist für <device(s)> deaktiviert, solange die Kindersicherung aktiv ist.
- Optionaler Parameter
- roomsOnDifferentFloors : <device(s)> kann diese Räume nicht erreichen, weil sie sich auf verschiedenen Stockwerken befinden.
- safetyShutOff : <device(s)> <is/are> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
- sceneCannotBeApplied : Sorry, <device(s)> can't be applied.
- securityRestriction : <device(s)> <has/have> a security restriction.
- softwareUpdateNotAvailable : Leider ist für <device(s)> kein Softwareupdate verfügbar.
- startRequiresTime : Damit ich das tun kann, musst du mir sagen, wie lange <device(s)> laufen soll.
- stillCoolingDown : <device(s)> <is/are> still cooling down.
- stillWarmingUp : <device(s)> <is/are> still warming up.
- streamUnavailable : Tut mir leid, anscheinend ist der Stream von <device(s)> aktuell nicht verfügbar.
- streamUnplayable : Tut mir leid, ich kann den Stream von <device(s)> im Moment nicht wiedergeben.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAlreadyReached : Tut mir leid, anscheinend ist dies schon die aktuelle Temperatur.
- timerValueOutOfRange : <device(s)> can't be set for that amount of time.
- tooManyFailedAttempts : Tut mir leid, zu viele fehlgeschlagene Versuche. Schließe den Vorgang in der App deines Geräts ab.
- transientError : Bei der Steuerung von <device(s)> ist leider ein Fehler aufgetreten. Bitte versuche es noch einmal.
- turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
- unableToLocateDevice : Ich konnte <device(s)> nicht finden.
- unknownFoodPreset : <device(s)> doesn't support that food preset.
- unlockFailure : ;<device(s)> konnte nicht entsperrt werden.
- unpausableState : <device(s)> can't be paused right now.
- userCancelled : ok
- valueOutOfRange : <device(s)> kann nicht auf diese Temperatur eingestellt werden.
Berichterstellung zum Online- und Offlinestatus
Wenn ein Gerät offline ist, sollten Sie innerhalb von fünf Minuten nach dem Verhalten des Geräts <code{"online": code="" dir="ltr" false}<="" translate="no"> an Report State senden. Wenn ein Gerät wieder online ist, sollten Sie innerhalb von fünf Minuten nach dem Verhalten des Geräts <code{"online": code="" dir="ltr" translate="no" true}<=""> an Status melden senden. Immer wenn ein Gerät wieder online ist, sollte der Partner alle aktuellen Gerätestatus mithilfe derreportStateAndNotification
API melden.
In diesem Beispiel ist ein Gerät vom Typ light
online und meldet alle aktuellen Gerätestatus.
"requestId": "test-request-id",
"agentUserId": "agent-user-1",
"payload":{
"devices": {
"states": {
"device-id-1": {
"brightness": 65,
"on": true,
"online": true
}
"notifications": {},
}
}
}
Ausnahmen
Sie sollten eine Ausnahme zurückgeben, wenn ein Problem oder eine Benachrichtigung mit einem Befehl verknüpft ist. Der Befehl kann erfolgreich sein oder fehlschlagen.
Wenn der Befehl erfolgreich ausgeführt wurde (status = „SUCCESS“), melden Sie Ausnahmen mit dem StatusReport
-Trait (für andere Geräte als das Zielgerät) oder durch Zurückgeben eines entsprechenden exceptionCode
(für das Zielgerät).
Wenn beispielsweise das Flusensieb des Trockners voll ist, kann der Nutzer den Trockner trotzdem starten. Sie sollten ihn aber vor diesem Zustand warnen. Wenn ein Gerät einen niedrigen Akkustand hat, der nicht leer ist, kannst du trotzdem einen Befehl ausführen, solltest den Nutzer aber darüber informieren, dass der Akkustand des Geräts niedrig ist.
Wenn der Befehl aufgrund von Ausnahmen fehlschlägt, sollte der Status „EXCEPTIONS“ lauten und die Ausnahmen sollten mit dem StatusReport
-Trait gemeldet werden.
Nicht blockierende Ausnahme (ERFOLG) für das Zielgerät
Hier ein Beispiel für das Verriegeln der Tür:
Die Batterie des Haustürschlosses ist schwach. Die Eingangstür wird abgeschlossen.
{ "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" } }] } }
Nicht blockierende Ausnahme (SUCCESS) bezüglich eines anderen Geräts, das StatusReport verwendet
Hier ist ein Beispiel für das Scharfschalten eines Sicherheitssystems: Ok, das Sicherheitssystem wird scharf geschaltet. Die Windschutzscheibe ist geöffnet.
{ "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" }] } }] } }
Blockierungsausnahme für ein anderes Gerät mit 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" } ] } } } }
Ausnahmeliste
Bei den folgenden Ausnahmen wird die zugehörige Sprachausgabe auf dem Gerät wiedergegeben.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again. (<Gerät(e)> <hat/haben> <einen vollen Beutel/volle Beutel>. Bitte leere <es/sie> und versuche es noch einmal.)
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : In <house name> wurde Kohlenmonoxid erkannt.
- 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)> kann diesen Raum nicht erreichen. Bringe <it/them> bitte auf die richtige Etage und versuche es noch einmal.
- hardwareFailure : <device(s)> <has/have> a hardware problem.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- 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 : Die Heimnetzwerkverbindung zu <device(s)> funktioniert nicht richtig.
- noIssuesReported : Auf<device(s)> wurden keine Probleme gemeldet.
- roomsOnDifferentFloors : <device(s)> kann diese Räume nicht erreichen, weil sie sich auf verschiedenen Stockwerken befinden.
- runCycleFinished : <device(s)> <has/have> finished running.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : In <Name des Zuhauses> wurde Rauch erkannt.
- 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)> a water leak.