Schemat inteligentnego domu – RunCycle
action.devices.traits.RunCycle
– to cecha dowolnego urządzenia, które przez określony czas działa w sposób objęty zapytaniem.
Urządzenia tego typu podają łączną liczbę cykli na początku działania i każdy cykl, w którym aktualnie jest. Dzięki temu użytkownik może wysyłać zapytania, na przykład:
- W jakim cyklu jest suszarka?
- Ile cykli pozostało zmywarka?
- Czym zajmuje się suszarka?
- Kiedy mycie zostanie wykonane?
Niektóre urządzenia mają czas trwania określony w formacie niecyklicznym. Każde urządzenie, które działa przez określony czas, może zgłaszać pozostały czas bez żadnych cykli. Funkcja ta sprawdza się też w przypadkach, w których cykle mogą być niespójne (np. zmywarki nie zawsze korzystają z pełnej wersji cykli). Użytkownik może na przykład zapytać Jak długo będzie działać odkurzacz?, co spowoduje zwrócenie informacji o czasie w jednostkach proporcjonalnych do pozostałego czasu. Dotyczy to też wymienionych powyżej urządzeń. Jak długo będzie suszyć moje ubrania?.
Urządzenia mogą zwrócić to, co wiedzą, a odpowiedź Asystenta TTS to najlepsza odpowiedź na podstawie dostępnych danych (np. zmywarka jest uruchomiona i zakończy działanie w ciągu 20 minut).
RunCycle jest obecnie funkcją tylko do odczytu – nie ma poleceń, tylko stany do wysłania zapytania. W przyszłości mogą istnieć mechanizmy ponownego uruchamiania cykli ponownego skanowania lub pominięcia.
ATRYBUTY urządzenia
Brak.
Urządzenie STATES
W ramach operacji QUERY
encje o tym atrybucie mogą raportować te stany. Więcej informacji o obsłudze intencji QUERY
znajdziesz w sekcji Realizacja intencji.
Stany | Typ | Opis |
---|---|---|
currentRunCycle |
Tablica |
Wymagany. Zawiera synonimy bieżącego cyklu w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Nazwy synonimów cyklu. |
currentCycle |
Ciąg |
Wymagany. Bieżący cykl. |
nextCycle |
Ciąg |
Opcjonalnie. Następny cykl do wykonania. |
lang |
Ciąg |
Wymagany. Kod języka dla podanych nazw cykli. Zobacz Obsługiwane języki. |
currentTotalRemainingTime |
Liczba całkowita |
Wymagany. Czas trwania operacji w sekundach. |
currentCycleRemainingTime |
Liczba całkowita |
Wymagany. Czas pozostały do bieżącego cyklu (w sekundach). |
Przykłady
Urządzenie będzie w trybie płukania jeszcze przez 5 minut i zakończy się w ciągu 20 minut.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Urządzenie przechodzi do płukania jeszcze przez 5 minut, a potem wiruje.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Polecenie urządzenia
Brak.
POWIADOMIENIA O URZĄDZENIACH
W przypadku zmiany stanu urządzenia urządzenia z tą cechą mogą zwracać ładunek powiadomień. Więcej informacji o wdrażaniu powiadomień znajdziesz w artykule Powiadomienia dotyczące inteligentnych działań w domu.
Pola | Typ | Opis |
---|---|---|
RunCycle |
Wymagany. Ładunek powiadomienia. |
|
Obsługuje jedną z tych opcji: | ||
0
|
Obiekt |
Sukces |
priority |
Liczba całkowita |
Wymagany. Określa poziom powiadomienia. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być odczytywane na głos. |
status |
Ciąg |
Wymagany. Wynik operacji. Obsługiwane wartości:
|
currentCycleRemainingTime |
Liczba całkowita |
Wymagany. Czas pozostały do bieżącego cyklu (w sekundach). |
1
|
Obiekt |
Niepowodzenie |
priority |
Liczba całkowita |
Wymagany. Określa poziom powiadomienia. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być odczytywane na głos. |
status |
Ciąg |
Wymagany. Wynik operacji. Obsługiwane wartości:
|
errorCode |
Ciąg |
Wymagany. Wartością może być dowolny kod błędu dla tego atrybutu, na przykład |
Przykłady
Urządzenie przestało działać.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Podczas wykonywania bieżącego cyklu wystąpił błąd.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }