Schemat trait systemu inteligentnego domu
action.devices.traits.RunCycle
– ta cecha reprezentuje dowolne urządzenie, które ma określony czas działania, do którego można wysyłać zapytania.
Takie urządzenia zgłaszają łączną liczbę cykli na początku działania oraz każdy cykl, w którym obecnie działa. Dzięki temu użytkownik będzie mógł wykonywać takie zapytania:
- Jaki jest cykl suszarki?
- Ile cykli pracy jeszcze zostało w zmywarce?
- Jak działa suszarka?
- Kiedy zostanie zakończone pranie?
Niektóre urządzenia podają czas w niecyklicznym formacie. Każde urządzenie uruchomione przez określony czas może zgłaszać pozostały czas bez cykli. Dotyczy to również przypadków, gdy cykle mogą być niespójne (np. zmywarka nie zawsze używa wszystkich cykli). Użytkownik może na przykład zapytać, Jak długo będzie działać odkurzacz?, co zwróci ilość czasu w jednostkach proporcjonalną do pozostałego czasu. Dotyczy to też urządzeń wymienionych powyżej. Jak długo będzie suszyć się moje ubrania? wyświetli czas w minutach.
Urządzenia mogą zwrócić to, co wiedzą, a odpowiedź TTS Asystenta będzie najlepszą odpowiedzią na podstawie dostępnych danych (np. Zmywarka działa i zakończy działanie za około 20 minut).
RunCycle jest obecnie cechą tylko do odczytu – nie ma żadnych poleceń, a jedynie stany, z których można wykonać zapytanie. W przyszłości mogą istnieć mechanizmy ponownego włączania cykli lub pomijania cykli (dobre w przypadku zraszaczów, ale niekorzystne w przypadku pralek).
Urządzenie ATTRIBUTES
Brak.
Urządzenie STATES
Encje z tą cechą mogą zgłaszać poniższe stany w ramach operacji QUERY
. Więcej informacji o obsłudze intencji QUERY
znajdziesz w artykule o realizacji intencji.
Stany | Typ | Opis |
---|---|---|
currentRunCycle |
Tablica |
Wymagane. Zawiera synonimy bieżącego cyklu w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Cykliczne nazwy synonimów. |
currentCycle |
String |
Wymagane. Bieżący cykl wykonywany. |
nextCycle |
String |
Opcjonalnie. Następny cykl do wykonania. |
lang |
String |
Wymagane. Kod języka dla określonych nazw cykli. Zobacz Obsługiwane języki. |
currentTotalRemainingTime |
Liczba całkowita |
Wymagane. Pozostały czas działania (w sekundach). |
currentCycleRemainingTime |
Liczba całkowita |
Wymagane. Czas pozostały w bieżącym cyklu (w sekundach). |
Przykłady
Urządzenie jest w płukiwaniu jeszcze przez 5 minut i skończy się za 20 minut.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Urządzenie jest płukane przez kolejne 5 minut, zanim zacznie się obracać.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
CommandS na urządzeniu
Brak.
POWIADOMIENIA Z urządzenia
W ramach zmiany stanu urządzenia z tą cechą mogą zwracać poniższy ładunek powiadomienia. Więcej informacji o implementowaniu powiadomień znajdziesz w artykule Powiadomienia o działaniach związanych z inteligentnym domem.
Pola | Typ | Opis |
---|---|---|
RunCycle |
Wymagane. Ładunek powiadomienia. |
|
Obsługuje jeden z tych typów: | ||
0
|
Obiekt |
Gotowe |
priority |
Liczba całkowita |
Wymagane. Reprezentuje poziom powiadomień. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być wymawiane na głos. |
status |
String |
Wymagane. Wynik operacji. Obsługiwane wartości:
|
currentCycleRemainingTime |
Liczba całkowita |
Wymagane. Czas pozostały w bieżącym cyklu (w sekundach). |
1
|
Obiekt |
Niepowodzenie |
priority |
Liczba całkowita |
Wymagane. Reprezentuje poziom powiadomień. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być wymawiane na głos. |
status |
String |
Wymagane. Wynik operacji. Obsługiwane wartości:
|
errorCode |
String |
Wymagane. Wartością może być dowolny kod błędu dla tej cechy, np. |
Przykłady
Urządzenie przestało działać.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Podczas zakończenia bieżącego cyklu wystąpił błąd.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }