In diesem Dokument werden die offiziell unterstützten Fehler und Ausnahmen für Smart-Home-Geräte aufgeführt. Verwende diese Fehler- und Ausnahmecodes in der Intent-Antwort oder in Benachrichtigungen, falls du sie implementiert hast, damit Google Assistant Endnutzer auf Probleme im Zusammenhang mit einem bestimmten Befehl oder Gerätestatus hinweist. Wenn die Antwort eine falsche Formatierung oder errorCode enthält, gibt Google Assistant eine allgemeine Fehlermeldung aus, z. B. „Gerät ist derzeit nicht verfügbar“.
Fehler
Du solltest 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 der Nutzer eine Fehlermeldung zu diesem Zustand erhalten.
Fehlercodes können auf Geräteebene oder auf globaler Ebene angehängt werden. Wenn ein Nutzer beispielsweise viele Lampen von einem Anbieter hat, die über einen Hub gesteuert werden, und der Nutzer 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 Fehlern auf globaler Ebene und Fehlern 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.
Beispiel für den Fehler deviceOffline auf globaler Ebene, weil 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 Fehler auf Geräteebene in der QUERY-Antwort zurückgegeben werden.
{ "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 du Fehler auf Geräteebene in einer proaktiven Benachrichtigung meldest.
{ "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" } } } } } }
Follow-up-Antwort
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 zu den zugehörigen TTS-Ausgaben auf dem Gerät.
- aboveMaximumLightEffectsDuration : Das ist länger als die maximale Dauer von 1 Stunde. Versuche es noch einmal.
- aboveMaximumTimerDuration : Ich kann <device(s)> nur für maximal <time period> einstellen.
- actionNotAvailable : Tut mir leid, das kann ich gerade nicht tun. Tipp:Überprüfe die Geräteeigenschaften und die Logik für den aktuellen Status in deiner Auftragsausführung.
- actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
- alreadyArmed : <device(s)> <is/are> bereits scharfgeschaltet.
- 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> bereits unscharf geschaltet.
- 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 : <Gerät(e)> ist/sind bereits eingeschaltet.
- alreadyOpen : <device(s)> ist/sind bereits geöffnet.
- alreadyPaused : <device(s)> <is/are> already paused.
- alreadyStarted : <Gerät(e)> ist/sind bereits gestartet.
- alreadyStopped : <Gerät(e)> ist/sind bereits gestoppt.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : Entschuldigung, <Gerät(e)> kann/können nicht erkennen, welche Zone du meinst. Achten Sie darauf, dass Ihre Zonen eindeutige Namen haben, und versuchen Sie es noch einmal.
- amountAboveLimit : So viel passt in <device(s)> nicht rein.
- appLaunchFailed : Entschuldigung, „<app name>“ konnte auf „<device(s)>“ nicht gestartet werden. Tipp: Überprüfe die appId und ob die App auf der Zielhardware unterstützt wird.
- armFailure : <Gerät(e)> konnte(n) nicht scharfgeschaltet werden.
- armLevelNeeded : Ich bin nicht sicher, auf welches Sicherheitsniveau ich <device(s)> setzen soll. Sag zum Beispiel „Setze <Gerät(e)> auf <niedrige Sicherheit>“ oder „Setze <Gerät(e)> auf <hohe Sicherheit>“.
- authFailure : Ich kann <device(s)> nicht erreichen. Sieh mal in der App nach, ob <device/devices> vollständig eingerichtet <is/are>.
- bagFull : Der Beutel von <Gerät(e)> ist voll. Bitte leere ihn und versuche es noch einmal.
- belowMinimumLightEffectsDuration : Das ist kürzer als die Mindestdauer von 5 Minuten. Bitte versuche es noch einmal.
- belowMinimumTimerDuration : Eine so kurze Zeit kann ich bei <device(s)> nicht einstellen. Bitte versuch es noch einmal.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : Tut mir leid, ich konnte das Scharfschalten von <device(s)> nicht abbrechen.
- cancelTooLate : Es ist leider zu spät, um die Bestellung zu stornieren. Verwende stattdessen <Gerät(e)> oder die App.
- channelSwitchFailed : Tut mir leid, ich kann nicht zu <Kanalname> wechseln. Versuch es später noch einmal. Tipp: Überprüfe die Kanalnamen/-nummern und den Abostatus des Nutzers.
- chargerIssue : Tut mir leid, es sieht so aus, als ob <device(s)> <a charger issue/charger issues> <has/have>. Tipp:Der Partner sollte die Telemetrie auf Hardwareebene und den Akkuzustand prüfen.
- commandInsertFailed : Befehle für <Gerät(e)> können nicht verarbeitet werden. Tipp: Untersuche die Schreibleistung der Datenbank oder die interne Logik für die Befehlswarteschlange.
- 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 bei <device(s)> nicht, weil (ha_shared.ItsTheyre size=$item.devices.total_device_count) gerade aufgeladen (ha_shared.IsAre size=$item.devices.total_device_count).
- 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 offen. Bitte schließe sie und versuche es noch einmal.
- deviceHandleClosed : Der Griff ist bei <Gerät(en)> geschlossen. Bitte öffne ihn und versuche es noch einmal.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceLidOpen : Der Deckel von <Gerät(e)> ist offen. Bitte schließe ihn und versuche es noch einmal.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. Wende dich an deinen lokalen Servicepartner.
- deviceNotDocked : Tut mir leid, anscheinend ist das Gerät/sind die Geräte <device(s)> nicht angedockt. Docke <es/sie> bitte an und versuch es noch einmal.
-
deviceNotFound
:
<Gerät(e)> ist/sind nicht verfügbar. Versuche am besten, <it/them> noch einmal einzurichten. Tipp:Achte darauf, dass dein Back-End den Home Graph immer synchronisiert. Rufe
requestSyncauf, wenn Geräte hinzugefügt oder entfernt werden. - deviceNotMounted : Tut mir leid, das funktioniert bei <device(s)> nicht, weil <it/they> nicht montiert <is/are>.
- deviceNotReady : <device(s)> ist/sind nicht bereit.
- 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 aufgrund extremer Temperaturen ausgeschaltet.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : <device(s)> konnte(n) nicht unscharf geschaltet werden.
- discreteOnlyOpenClose : Entschuldigung, <Gerät(e)> kann/können nur vollständig geöffnet oder geschlossen werden.
- dispenseAmountAboveLimit : <Gerät(e)> kann/können eine so große Menge nicht ausgeben.
- dispenseAmountBelowLimit : <device(s)> kann/können eine so kleine Menge nicht ausgeben.
- dispenseAmountRemainingExceeded : <device(s)> hat nicht genug <dispense item>, um das zu tun.
- dispenseFractionalAmountNotSupported : <device(s)> kann keine Bruchteile von <dispense item> ausgeben.
- dispenseFractionalUnitNotSupported : <device(s)> unterstützt bei <dispense item> keine Bruchteile von dieser Einheit.
- dispenseUnitNotSupported : <device(s)> unterstützt diese Einheit für <dispense item> nicht.
- doorClosedTooLong : Es ist schon eine Weile her, seit die Tür des Geräts „<device(s)>“ geöffnet wurde. Bitte öffne sie und sieh nach, ob etwas darin ist, und versuch es dann noch einmal.
- emergencyHeatOn : <device(s)> <is/are> im Notheizungsmodus und <it/they> muss/müssen manuell angepasst werden.
- faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
- floorUnreachable : <device(s)> kann diesen Raum nicht erreichen. Bring <it/them> bitte auf das richtige Stockwerk und versuch es noch einmal.
- functionNotSupported : <device(s)> <doesn't/don't> support that functionality. Tipp:Achte darauf, dass die SYNC-Antwort die Funktionen des Geräts genau widerspiegelt.
- genericDispenseNotSupported : Ich muss wissen, was du ausgeben möchtest. Bitte versuche es noch einmal mit dem Namen des Artikels.
- 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 versetzen.
- inAwayMode : <device(s)> <is/are> currently set to away mode. Wenn du den Thermostat steuern möchtest, musst du ihn manuell über die Nest App auf einem Smartphone, Tablet oder Computer in den Modus „Zuhause“ versetzen.
- inDryMode : <Gerät(e)> <ist/sind> derzeit auf den Trockenmodus eingestellt. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus versetzen.
- inEcoMode : <device(s)> <is/are> momentan auf den Eco-Modus eingestellt. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus versetzen.
- inFanOnlyMode : <Gerät(e)> <ist/sind> derzeit auf den Nur-Lüfter-Modus eingestellt. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus versetzen.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : <Gerät(e)> <ist/sind> derzeit auf den Luftbefeuchtermodus eingestellt. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus versetzen.
- inOffMode : <device(s)> <is/are> currently off. To change the temperature, you'll need to switch <it/them> to a different mode.
- inPurifierMode : <Gerät(e)> ist/sind derzeit auf den Luftreinigermodus eingestellt. Wenn du die Temperatur ändern möchtest, musst du <it/them> in einen anderen Modus versetzen.
- inSleepMode : <device(s)> <is/are> im Ruhemodus. Versuchen Sie es später noch einmal.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- lockFailure : <Gerät(e)> konnte(n) nicht gesperrt werden. Tipp:Prüfe, ob es physische Blockaden, eine niedrige Stromversorgung oder Motorausfälle an der Schlosshardware gibt.
- lockedState : <device(s)> <is/are> currently locked.
- lockedToRange : Diese Temperatur liegt außerhalb des gesperrten Bereichs auf <Gerät(en)>.
- lowBattery : <device(s)> <has/have> low battery.
- maxSettingReached : <Gerät(e)> ist/sind bereits auf die höchste Einstellung eingestellt.
- maxSpeedReached : <device(s)> <is/are> already set to the maximum speed.
- minSettingReached : <Gerät(e)> <ist/sind> bereits auf die niedrigste Einstellung eingestellt.
- minSpeedReached : <device(s)> <is/are> bereits auf die Mindestgeschwindigkeit eingestellt.
- 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)> der Behälter. Bring bitte einen an und versuch es noch einmal.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <Gerät(e)> <benötigt/benötigen> ein Softwareupdate.
- needsWater : <Gerät(e)> <braucht/brauchen> Wasser.
- networkProfileNotRecognized : Entschuldige, ich kenne „<network profile>“ auf <device(s)> nicht. Tipp:Prüfe, ob der String für den Profilnamen mit den unterstützten Profilen in der SYNC-Antwort übereinstimmt.
- networkSpeedTestInProgress : Ich teste bereits die <network>-<speed/speeds>.
- noAvailableApp : <app name> ist leider 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 dem Gerät bzw. den Geräten „<device(s)>“ kein Timer eingestellt.
- notSupported : Dieser Modus ist für <device(s)> nicht verfügbar.
- obstructionDetected : <device(s)> hat ein Hindernis erkannt.
- offline , deviceOffline : <Gerät(e)> ist/sind momentan nicht verfügbar.
- onRequiresMode : Bitte gib an, welchen Modus du aktivieren möchtest.
- passphraseIncorrect : Tut mir leid, diese PIN ist falsch.
- percentOutOfRange : Ich kann <device(s)> nicht auf <percent> einstellen.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : Ich habe <device(s)> nicht geöffnet, weil Regen festgestellt wurde.
- rangeTooClose : Diese Temperaturen liegen für den Heiz-Kühl-Bereich von <device(s)> zu nah beieinander. Wähle Temperaturen, die 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. Tipp:Achte darauf, dass dein Server diesen Code zurückgibt, wenn ein Aktualisierungstoken dauerhaft ungültig ist.
-
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 <Gerät(e)> nicht per Fernzugriff entsperren.remoteControlOff– Diese Aktion ist momentan deaktiviert. Aktiviere bitte die Fernbedienung des Geräts „<device(s)>“ und versuch es noch einmal.childSafetyModeActive– Diese Aktion ist für <Gerät(e)> deaktiviert, solange die Kindersicherung aktiv ist.
- Optionaler Parameter
- roomsOnDifferentFloors : <device(s)> kann nicht in diese Zimmer fahren, weil sie sich auf verschiedenen Stockwerken befinden.
- safetyShutOff : <device(s)> <is/are> im Sicherheitsabschaltungsmodus und <it/they> muss/müssen manuell angepasst werden.
- sceneCannotBeApplied : Entschuldigung, <device(s)> kann nicht angewendet werden. Tipp:Prüfe den internen Status der Szenen des Nutzers in der Partner-Cloud.
- securityRestriction : <Gerät(e)> <hat/haben> eine Sicherheitseinschränkung.
- softwareUpdateNotAvailable : Tut mir leid, für <device(s)> ist 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 : <Gerät(e)> wird/werden noch aufgewärmt.
- streamUnavailable : Der Stream von <device(s)> ist derzeit leider nicht verfügbar.
- streamUnplayable : Entschuldigung, ich kann den Stream von <device(s)> im Moment nicht abspielen. Tipp: Prüfen Sie die WebRTC-/HLS-Signalisierung und achten Sie darauf, dass die Stream-URL gültig ist.
- tankEmpty : Der Tank von <device(s)> ist leer. Bitte fülle ihn und versuche es noch einmal.
- targetAlreadyReached : Das ist bereits die aktuelle Temperatur.
- timerValueOutOfRange : <Gerät(e)> kann/können nicht auf diese Zeitdauer eingestellt werden.
- tooManyFailedAttempts : Zu viele fehlgeschlagene Versuche. Bitte öffne die App auf deinem Gerät, um diese Aktion auszuführen.
- transientError : Bei der Steuerung von <Gerät(en)> ist leider ein Fehler aufgetreten. Bitte versuche es noch einmal. Tipp:Meistens äußern sich diese Fehler darin, dass die Verbindung zu einem Gerät oder Dienst unterbrochen wird. Auch wenn keine neuen Verbindungen zu einem Server geöffnet werden können.
- turnedOff , deviceTurnedOff : <device(s)> ist/sind gerade ausgeschaltet.
- unableToLocateDevice : Ich konnte <Gerät(e)> nicht finden. Tipp:Prüfe die lokale Verbindung des Geräts (WLAN/Bluetooth).
- unknownFoodPreset : <device(s)> doesn't support that food preset.
- unlockFailure : <device(s)> konnte(n) nicht entsperrt werden. Tipp:Prüfe, ob die Hardware blockiert ist, der Akkustand niedrig ist oder ungültige PINs eingegeben wurden.
- unpausableState : <device(s)> kann/können zurzeit nicht pausiert werden.
- userCancelled : ok
- valueOutOfRange : <device(s)> kann nicht auf diese Temperatur eingestellt werden.
Berichterstellung zum Online- und Offlinestatus
Wenn ein Gerät offline ist, solltest du innerhalb von fünf Minuten nach dem Verhalten des Geräts <code{"online": code="" dir="ltr" false}<="" translate="no"> an Report State melden. Wenn ein Gerät wieder online ist, solltest du innerhalb von fünf Minuten nach der Änderung des Gerätestatus <code{"online": code="" dir="ltr" translate="no" true}<=""> an Report State melden. Wenn ein Gerät wieder online ist, sollte der Partner alle aktuellen Gerätestatus über diereportStateAndNotification 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 Warnung im Zusammenhang mit einem Befehl vorliegt. Der Befehl kann erfolgreich sein oder fehlschlagen.
Wenn der Befehl erfolgreich war (Status = „SUCCESS“), melde Ausnahmen mit dem Attribut StatusReport (für andere Geräte als das Zielgerät) oder durch Rückgabe eines entsprechenden exceptionCode (für das Zielgerät).
Wenn beispielsweise das Flusensieb des Trockners voll ist, kann der Nutzer den Trockner trotzdem starten. Du solltest ihn aber auf diesen Zustand hinweisen. Wenn der Akkustand eines Geräts niedrig, aber nicht leer ist, kannst du einen Befehl ausführen, solltest den Nutzer aber darüber informieren, dass der Akkustand niedrig ist.
Wenn der Befehl aufgrund von Ausnahmen fehlschlägt, sollte der Status „EXCEPTIONS“ lauten und die Ausnahmen sollten mit dem Attribut StatusReport gemeldet werden.
Nicht blockierende Ausnahme (SUCCESS) für das Zielgerät
In diesem Beispiel wird die Tür verriegelt:
Die Batterie des Schlosses an der Haustür ist schwach. Ich verriegele die Haustür.
{ "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) zu einem anderen Gerät, das StatusReport verwendet
In diesem Beispiel wird ein Sicherheitssystem scharf geschaltet: Ok, ich schalte das Sicherheitssystem scharf. Das Fenster vorne ist offen.
{ "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, das StatusReport verwendet
{ "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
Die folgenden Ausnahmen erzeugen die zugehörige TTS auf dem Gerät.
- bagFull : Der Beutel von <Gerät(e)> ist voll. Bitte leere ihn 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. Bring <it/them> bitte auf das richtige Stockwerk und versuch 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 : <Gerät(e)> <erkennt/erkennen> Bewegung.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <Gerät(e)> <benötigt/benötigen> ein Softwareupdate.
- needsWater : <Gerät(e)> <braucht/brauchen> Wasser.
- networkJammingDetected : Die Heimnetzwerkverbindung zu <device(s)> funktioniert nicht richtig.
- noIssuesReported : <device(s)> reported no issues.
- roomsOnDifferentFloors : <device(s)> kann nicht in diese Zimmer fahren, weil sie sich auf verschiedenen Stockwerken befinden.
- runCycleFinished : <device(s)> <has/have> finished running.
- securityRestriction : <Gerät(e)> <hat/haben> eine Sicherheitseinschränkung.
- smokeDetected : In <house name> wurde Rauch erkannt.
- tankEmpty : Der Tank von <device(s)> ist leer. Bitte fülle ihn und versuche es noch einmal.
- usingCellularBackup : <device(s)> <is/are> using cellular backup.
- waterLeakDetected : <device(s)> <detect(s)> a water leak.