Schema für Lauflaufmuster von Smart Homes

action.devices.traits.RunCycle: Dieses Merkmal stellt jedes Gerät dar, das eine laufende Dauer hat, die abgefragt werden kann.

Geräte wie diese melden zu Beginn des Betriebs die Gesamtanzahl der Zyklen sowie in jedem Zyklus, in dem sich das Gerät gerade befindet. So können Nutzer Abfragen stellen:

  • In welchem Zyklus befindet sich mein Trockner?
  • Wie lange braucht der Geschirrspüler noch?
  • Was macht der Trockner?
  • Wann erfolgt die Reinigung?

Bestimmte Geräte enthalten eine Dauer in einem nicht zyklischen Format. Jedes Gerät, das über einen bestimmten Zeitraum ausgeführt wird, kann seine verbleibende Zeit (ohne Zyklen) melden. Dies gilt auch für Fälle, in denen Zyklen nicht einheitlich sind (z. B. wenn „Spülmaschinen“ nicht immer alle Zyklen verwenden). Eine Person könnte beispielsweise fragen: Wie viel länger wird mein Staubsauger laufen?. Dadurch wird die Zeit in Einheiten proportional zur verbleibenden Zeit zurückgegeben. Das gilt auch für die oben aufgeführten Geräte. Wie lange trocknet meine Kleidung noch? gibt eine Dauer in Minuten zurück.

Geräte können ihr Wissen zurückgeben und die TTS-Antwort von Assistant liefert die beste Antwort mit den verfügbaren Daten (z. B. Der Geschirrspüler läuft und ist in etwa 20 Minuten fertig).

RunCycle ist derzeit eine schreibgeschützte Eigenschaft. Sie hat keine Befehle, sondern kann nur Abfragen ausführen. In Zukunft gibt es möglicherweise Mechanismen zum wiederholten Ausführen von Zyklen oder zum Überspringen von Zyklen (gut für Sprinkleranlagen, schlecht für Waschmaschinen).

Geräte-ATTRIBUTE

Keine.

Gerätestatus

Entitäten mit diesem Merkmal können im Rahmen des QUERY-Vorgangs die folgenden Status melden: Weitere Informationen zum Verarbeiten von 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

Zyklische Synonyme verwenden.

currentCycle String

Erforderlich.

Der aktuelle Zyklus wird ausgeführt.

nextCycle String

Optional. Nächster Durchlauf.

lang String

Erforderlich.

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

currentTotalRemainingTime Ganzzahl

Erforderlich.

Verbleibende Zeit im Betrieb, in Sekunden.

currentCycleRemainingTime Ganzzahl

Erforderlich.

Verbleibende Zeit im aktuellen Zyklus, in Sekunden.

Beispiele

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

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

Das Gerät wird noch 5 Minuten lang gespült und sollte sich danach drehen.

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

BEISPIELE für Geräte

Keine.

BENACHRICHTIGUNGEN auf Geräten

Geräte mit diesem Merkmal können im Rahmen einer Gerätestatusänderung die folgende Nutzlast der Benachrichtigung zurückgeben. Weitere Informationen zum Implementieren von Benachrichtigungen finden Sie unter Benachrichtigungen für Smart-Home-Aktionen.

Felder Typ Beschreibung
RunCycle

Erforderlich.

Nutzlast der Benachrichtigung.

Unterstützt eine der folgenden Optionen:
0 Objekt

Erfolg

priority Ganzzahl

Erforderlich.

Die Benachrichtigungsebene. Der aktuell unterstützte Wert ist 0, was bedeutet, dass die Benachrichtigung vorgelesen werden soll.

status String

Erforderlich.

Das Ergebnis des Vorgangs.

Unterstützte Werte:

SUCCESS
currentCycleRemainingTime Ganzzahl

Erforderlich.

Verbleibende Zeit im aktuellen Zyklus, in Sekunden.

1 Objekt

Fehler

priority Ganzzahl

Erforderlich.

Die Benachrichtigungsebene. Der aktuell unterstützte Wert ist 0, was bedeutet, dass die Benachrichtigung vorgelesen werden soll.

status String

Erforderlich.

Das Ergebnis des Vorgangs.

Unterstützte Werte:

FAILURE
errorCode String

Erforderlich.

Bei dem Wert kann es sich um einen beliebigen Fehlercode für diese Eigenschaft handeln, z. B. deviceStuck.

Beispiele

Das Gerät ist fertig.

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

Hier finden Sie die vollständige Liste der Fehler und Ausnahmen.