Ausführungsschema des Smart-Home-Zyklus
action.devices.traits.RunCycle
: Dieses Attribut stellt jedes Gerät dar, das eine laufende Dauer hat, die abgefragt werden kann.
Geräte wie diese melden die Gesamtzahl der Zyklen zu Beginn des Betriebs und jeden Zyklus, in dem sich das Gerät gerade befindet. So können Nutzer Abfragen stellen, z. B.:
- In welchem Zyklus ist mein Trockner an?
- Wie viele Spülgänge hat der Geschirrspüler noch?
- Was macht der Trockner?
- Wann wird die Wäsche waschen?
Einige Geräte haben eine Dauer in einem nicht-zyklischen Format. Geräte, die über einen bestimmten Zeitraum laufen, können ihre verbleibende Zeit ohne Zyklen melden. Das gilt auch für Fälle, in denen die Zyklen nicht konsistent sind (z. B. wenn der Geschirrspüler nicht immer alle Zyklen verwendet). Ein Nutzer könnte beispielsweise fragen: Wie lange läuft mein Staubsauger?. Dadurch wird die Zeitspanne in Einheiten proportional zur verbleibenden Zeit zurückgegeben. Dies gilt auch für die oben aufgeführten Geräte. Wie lange trocknet meine Kleidung noch? gibt eine Dauer in Minuten zurück.
Die Geräte können das zurückgeben, was sie wissen, und die Sprachausgabe von Assistant liefert die beste Antwort mit den verfügbaren Daten. Beispiel: Der Geschirrspüler läuft und dauert etwa 20 Minuten.
RunCycle ist derzeit ein schreibgeschützter Merkmal. Er hat keine Befehle, sondern nur Status zur Abfrage. In Zukunft wird es Mechanismen geben, Zyklen noch einmal auszuführen oder Zyklen zu überspringen (gut für Sprinkleranlagen, schlecht für Waschmaschinen).
Gerät ATTRIBUTE
Keine.
Gerät STATES
Geräte mit diesem Attribut können im Rahmen des Vorgangs QUERY
die folgenden Zustände 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 |
Zyklus-Synonyme. |
currentCycle |
String |
Erforderlich. Aktueller Zyklus wird ausgeführt. |
nextCycle |
String |
Optional. Nächster durchzuführender Zyklus. |
lang |
String |
Erforderlich. Sprachcode für die angegebenen Zyklusnamen. Siehe Unterstützte Sprachen. |
currentTotalRemainingTime |
Ganzzahl |
Erforderlich. Verbleibende Zeit in Sekunden. |
currentCycleRemainingTime |
Ganzzahl |
Erforderlich. Verbleibende Zeit im aktuellen Zyklus in Sekunden. |
Beispiele
Der Spülvorgang des Geräts dauert weitere 5 Minuten und wird in 20 Minuten abgeschlossen.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Das Gerät wird noch 5 Minuten lang gespült. Danach wird es rotiert.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Gerätebefehle
Keine.
BENACHRICHTIGUNGEN auf Geräten
Geräte mit diesem Attribut können im Rahmen einer Gerätestatusänderung die folgende Benachrichtigungsnutzlast zurückgeben. Weitere Informationen zum Implementieren von Benachrichtigungen findest du 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 Benachrichtigungsstufe. Der aktuell unterstützte Wert ist 0, was bedeutet, dass die Benachrichtigung laut gesprochen werden soll. |
status |
String |
Erforderlich. Ergebnis des Vorgangs Unterstützte Werte:
|
currentCycleRemainingTime |
Ganzzahl |
Erforderlich. Verbleibende Zeit im aktuellen Zyklus in Sekunden. |
1
|
Objekt |
Fehler |
priority |
Ganzzahl |
Erforderlich. Die Benachrichtigungsstufe. Der aktuell unterstützte Wert ist 0, was bedeutet, dass die Benachrichtigung laut gesprochen werden soll. |
status |
String |
Erforderlich. Ergebnis des Vorgangs Unterstützte Werte:
|
errorCode |
String |
Erforderlich. Der Wert kann ein beliebiger Fehlercode für diese Eigenschaft sein, z. B. |
Beispiele
Das Gerät ist fertig.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Beim Abschließen des aktuellen Zyklus ist ein Fehler aufgetreten.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }