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:
|
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:
|
errorCode |
String |
Erforderlich. Bei dem Wert kann es sich um einen beliebigen Fehlercode für diese Eigenschaft handeln, z. B. |
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" } }