Smart-Home-RunCycle-Trait-Schema

action.devices.traits.RunCycle: Diese Trait steht für jedes Gerät, dessen Vorgangsdauer eine laufende Dauer hat und abgefragt werden kann.

Geräte wie diese melden zu Beginn des Betriebs die Gesamtzahl der Zyklen und jeden Zyklus, in dem sich das Gerät derzeit befindet, während es ausgeführt wird. Dadurch kann der Nutzer folgende Abfragen stellen:

  • In welchem Waschgang befindet sich mein Trockner?
  • Wie viele Spülgänge hat der Geschirrspüler noch?
  • Was macht der Trockner?
  • Wann ist die Reinigung?

Bei bestimmten Geräten ist die Dauer in einem nicht zyklischen Format angegeben. Jedes Gerät, das für eine bestimmte Zeit ausgeführt wird, kann die verbleibende Zeit ohne Zyklen melden. Das gilt auch für Fälle, in denen die Waschgänge nicht konsistent sind (z. B. wenn die Spülmaschine nicht immer alle Spülgänge verwendet). Ein Nutzer könnte beispielsweise fragen: Wie viel länger läuft mein Staubsauger?. Daraufhin wird die Zeit in Einheiten proportional zur verbleibenden Zeit zurückgegeben. Dies gilt auch für die oben aufgeführten Geräte. Unter Wie lange trocknet meine Wäsche? wird eine Dauer in Minuten angezeigt.

Geräte können alles zurückgeben, was sie wissen. Die Antwort von Assistant TTS bildet die beste Antwort mit den verfügbaren Daten (z. B. Der Geschirrspüler läuft und wird in etwa 20 Minuten abgeschlossen.).

RunCycle ist derzeit eine schreibgeschützte Eigenschaft. Es enthält keine Befehle, sondern nur Statusabfragen, die abgefragt werden müssen. In Zukunft wird es möglicherweise Mechanismen zum erneuten Ausführen von Zyklen oder zum Überspringen von Zyklen geben (gut für Sprinkler, schlecht für Waschmaschinen).

Geräte-ATTRIBUTE

Keine.

Gerät STATES

Entitäten mit diesem Trait können die folgenden Status im Rahmen des QUERY-Vorgangs melden. Weitere Informationen zum Umgang mit QUERY-Intents finden Sie unter Intent-Auftragsausführung.

Bundesstaaten Typ Beschreibung
currentRunCycle Array

Erforderlich.

Enthält die Synonyme für den aktuellen Zyklus in jeder unterstützten Sprache.

[item, ...] Objekt

Synonymnamen wiederholen.

currentCycle String

Erforderlich.

Aktueller Zyklus wird ausgeführt.

nextCycle String

Optional. Nächster Zyklus.

lang String

Erforderlich.

Sprachcode für die angegebenen Zyklusnamen. Weitere Informationen finden Sie unter Unterstützte Sprachen.

currentTotalRemainingTime Ganzzahl

Erforderlich.

Verbleibende Betriebszeit in Sekunden.

currentCycleRemainingTime Ganzzahl

Erforderlich.

Verbleibende Zeit des aktuellen Zyklus in Sekunden.

Beispiele

Das Gerät wird weitere 5 Minuten lang gespült und ist in 20 Minuten fertig.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

Das Gerät wird weitere 5 Minuten lang gespült, bevor es losgeht.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

BEFEHLUNGEN auf dem Gerät

Keine.

Gerätebenachrichtigungen

Geräte mit dieser Eigenschaft können bei einer Gerätestatusänderung die folgende Nutzlast für Benachrichtigungen zurückgeben. Weitere Informationen zur Implementierung von Benachrichtigungen findest du unter Benachrichtigungen für Smart-Home-Aktionen.

Felder Typ Beschreibung
RunCycle

Erforderlich.

Nutzlast für Benachrichtigungen.

Unterstützt eine der folgenden Optionen:
0 Objekt

Abgeschlossen

priority Ganzzahl

Erforderlich.

Stellt die Benachrichtigungsebene dar. Der derzeit unterstützte Wert ist 0. Dies bedeutet, dass die Benachrichtigung vorgelesen werden soll.

status String

Erforderlich.

Ergebnis des Vorgangs.

Unterstützte Werte:

SUCCESS
currentCycleRemainingTime Ganzzahl

Erforderlich.

Verbleibende Zeit des aktuellen Zyklus in Sekunden.

1 Objekt

Fehler

priority Ganzzahl

Erforderlich.

Stellt die Benachrichtigungsebene dar. Der derzeit unterstützte Wert ist 0. Dies bedeutet, dass die Benachrichtigung vorgelesen werden soll.

status String

Erforderlich.

Ergebnis des Vorgangs.

Unterstützte Werte:

FAILURE
errorCode String

Erforderlich.

Der Wert kann ein beliebiger Fehlercode für diese Eigenschaft sein, z. B. deviceStuck.

Beispiele

Die Ausführung des Geräts ist abgeschlossen.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Beim Abschluss des aktuellen Zyklus ist ein Fehler aufgetreten.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

Gerät ERRORS

Sehen Sie sich die vollständige Liste der Fehler und Ausnahmen an.