Schemat Tracet dla inteligentnego domu
action.devices.traits.RunCycle
– ta cecha reprezentuje każde urządzenie o długim czasie działania, do którego można wysyłać zapytania.
Urządzenia tego typu podają łączną liczbę cykli na początku działania, a także każdy cykl, w którym obecnie działa. Dzięki temu użytkownik będzie mógł wysyłać zapytania, na przykład:
- Z wybranym cyklem suszarki?
- Ile cykli zmywa się do zmywarki?
- Jak działa suszarka?
- Kiedy wykonanie prania będzie gotowe?
Niektóre urządzenia mają czas trwania w formacie niecyklicznym. Na każdym urządzeniu uruchomionym przez określony czas możesz sprawdzić pozostały czas bez cyklu. To rozwiązanie sprawdza się również w przypadkach, w których cykle mogą być niespójne (np. zmywarki nie zawsze muszą się powtarzać). Na przykład użytkownik może zapytać: Jak długo będzie odkurzacz?, co spowoduje zwrócenie czasu pozostałego w jednostkach proporcjonalnie do pozostałego czasu. Dotyczy to również urządzeń wymienionych powyżej. Jak długo będą suszyć ubrania?.
Urządzenia mogą zwrócić to, co znają, a odpowiedź Asystenta TTS zapewni najlepszą odpowiedź na podstawie dostępnych danych (np. zmywarka jest uruchomiona i zakończy się w ciągu około 20 minut).
RunCycle to obecnie cecha tylko do odczytu – nie ma poleceń, a jedynie stany do wysłania zapytań. W przyszłości mogą występować mechanizmy ponownego uruchamiania cykli lub pominięć (dobre dla zraszaczów, prania).
ATTRIBUTES urządzenia
Brak.
Urządzenie STATES
W ramach operacji QUERY
encje z tą cechą mogą zgłaszać wymienione poniżej stany. Więcej informacji o obsłudze intencji QUERY
znajdziesz w sekcji Realizacja intencji.
Stany | Typ | Opis |
---|---|---|
currentRunCycle |
Tablica |
Wymagane. Zawiera synonimy bieżącego cyklu w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Nazwy synonimów cyklu. |
currentCycle |
String |
Wymagane. Bieżący cykl. |
nextCycle |
String |
Opcjonalnie. Następny cykl do wykonania. |
lang |
String |
Wymagane. Kod języka dla podanych nazw cykli. Zobacz Obsługiwane języki. |
currentTotalRemainingTime |
Liczba całkowita |
Wymagane. Pozostały czas pracy w sekundach. |
currentCycleRemainingTime |
Liczba całkowita |
Wymagane. Czas pozostały w bieżącym cyklu (w sekundach). |
Przykłady
Urządzenie jest spłukiwane jeszcze przez 5 minut. Zakończy się za 20 minut.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Urządzenie jest spłukiwane jeszcze przez 5 minut, a potem rusza się.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Urządzenie CommandS
Brak.
POWIADOMIENIA O URZĄDZENIACH
W ramach zmiany stanu urządzenia urządzenia z tą cechą mogą zwracać ten ładunek powiadomień. Więcej informacji o implementowaniu powiadomień znajdziesz w artykule Powiadomienia dotyczące inteligentnych działań w domu.
Pola | Typ | Opis |
---|---|---|
RunCycle |
Wymagane. Ładunek powiadomień. |
|
Obsługuje jeden z tych sposobów: | ||
0
|
Obiekt |
Gotowe |
priority |
Liczba całkowita |
Wymagane. Określa poziom powiadomień. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być odczytywane 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. Określa poziom powiadomień. Obecnie obsługiwana wartość to 0, co oznacza, że powiadomienie powinno być odczytywane na głos. |
status |
String |
Wymagane. Wynik operacji. Obsługiwane wartości:
|
errorCode |
String |
Wymagane. Wartością może być kod błędu dla tej cechy, np. |
Przykłady
Urządzenie zostało uruchomione.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Podczas bieżącego cyklu wystąpił błąd.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }