Schemat atrybutu RunCycle w inteligentnym domu

action.devices.traits.RunCycle – ta cecha reprezentuje dowolne urządzenie, które ma ciągły czas działania, którego można zapytać.

Takie urządzenia będą raportować łączną liczbę cykli na początku działania oraz w przypadku każdego cyklu, w którym aktualnie się znajdują. Dzięki temu użytkownik może wysyłać zapytania, takie jak:

  • W jakim cyklu działa suszarka?
  • Ile cykli pozostało do zakończenia pracy zmywarki?
  • Co robi suszarka?
  • Kiedy będzie pranie?

Niektóre urządzenia podają czas trwania w formacie innym niż cykliczny. Każde urządzenie działające przez określony czas może zgłosić pozostały czas bez cykli. Ta funkcja obsługuje też przypadki, w których cykle mogą być niespójne (np. zmywarki nie zawsze używają wszystkich cykli). Użytkownik może na przykład zapytać: Jak długo jeszcze będzie działać mój odkurzacz?, a asystent odpowie, ile czasu pozostało do zakończenia odkurzania. Dotyczy to również urządzeń wymienionych powyżej. Polecenie How much longer will my clothes be drying? (Jak długo jeszcze będą się suszyć moje ubrania?) zwróci czas w minutach.

Urządzenia mogą zwracać swoją wiedzę, a odpowiedzi na zamianę tekstu na mowę przez Asystenta stanowią najlepszą odpowiedź na podstawie dostępnych danych (np. Zmywarka jest uruchomiona i zakończy pracę za około 20 minut).

Cykl jest obecnie cechą tylko do odczytu – nie ma poleceń, tylko stany do zapytania. W przyszłości mogą istnieć mechanizmy ponownego uruchamiania cykli lub pomijania cykli (korzystne w przypadku zraszacza, szczególnie w pralkach).

ATRYBUTY URZĄDZENIA

Brak.

STANOWISKO URZĄDZENIA

Elementy z tą cechą mogą raportować te stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule o realizacji intencji.

Stany Typ Opis
currentRunCycle Tablica

Wymagany.

Zawiera synonimy bieżącego cyklu w każdym obsługiwanym języku.

[item, ...] Obiekt

Nazwy cykli synonimów.

currentCycle String

Wymagane.

Bieżący cykl.

nextCycle String

Opcjonalnie: Następny cykl do wykonania.

lang String

Wymagany.

Kod języka nazw danego cyklu. Zobacz obsługiwane języki.

currentTotalRemainingTime Liczba całkowita

Wymagany.

Czas pozostały do zakończenia operacji w sekundach.

currentCycleRemainingTime Liczba całkowita

Wymagany.

Czas pozostały do końca bieżącego cyklu (w sekundach).

Przykłady

Urządzenie będzie płukać się przez kolejne 5 minut i skończy pracę za 20 minut.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

Urządzenie jest płukane przez kolejne 5 minut, a potem przechodzi do wirowania.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

Polecenia na urządzeniu

Brak.

POWIADOMIENIA NA URZĄDZENIU

Urządzenia z tą cechą mogą zwracać poniższy ładunek powiadomień w ramach zmiany stanu urządzenia. Więcej informacji o implementowaniu powiadomień znajdziesz w artykule Powiadomienia dla działań związanych z inteligentnym domem.

Pola Typ Opis
RunCycle

Wymagane.

Treść powiadomienia.

Obsługuje jedną z tych funkcji:
0 Obiekt.

Sukces

priority Liczba całkowita

Wymagane.

Reprezentuje poziom powiadomienia. Obecnie obsługiwana wartość to 0, która oznacza, że powiadomienie powinno być odczytane na głos.

status String

Wymagane.

Wynik operacji.

Obsługiwane wartości:

SUCCESS
currentCycleRemainingTime Liczba całkowita

Wymagany.

Czas pozostały do końca bieżącego cyklu (w sekundach).

1 Obiekt

Niepowodzenie

priority Liczba całkowita

Wymagane.

Reprezentuje poziom powiadomienia. Obecnie obsługiwana wartość to 0, która oznacza, że powiadomienie powinno być odczytane na głos.

status String

Wymagane.

Wynik operacji.

Obsługiwane wartości:

FAILURE
errorCode String

Wymagany.

Wartość może być dowolnym kodem błędu dla tej cechy, na przykład deviceStuck.

Przykłady

Urządzenie przestało działać.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Wystąpił błąd podczas wykonywania bieżącego cyklu.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

Urządzenie ERRORS

Zobacz pełną listę błędów i wyjątków.