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:
|
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:
|
errorCode |
String |
Erforderlich. Der Wert kann ein beliebiger Fehlercode für diese Eigenschaft sein, z. B. |
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" } }