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:

  • Jaki cykl ma suszarka?
  • Ile cykli pozostało do zakończenia pracy zmywarki?
  • Co robi suszarka?
  • Kiedy zakończy się pranie?

Niektóre urządzenia podają czas trwania w formacie innym niż cykliczny. Każde urządzenie, które działa przez określony czas, może zgłaszać 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. 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ć informacje, które znają, a Asystent TTS będzie tworzyć najlepsze odpowiedzi na podstawie dostępnych danych (np. Zmywarka działa i skończy za około 20 minut).

RunCycle jest obecnie cechą tylko do odczytu – nie ma poleceń, tylko stany do zapytania. W przyszłości mogą pojawić się mechanizmy ponownego uruchamiania cykli lub ich pomijania (dobre dla zraszaczy, złe dla pralek).

ATRYBUTY URZĄDZENIA

Brak.

STANOWISKO URZĄDZENIA

Elementy z tą cechą mogą raportować te stany w ramach operacji QUERY. Więcej informacji o obsługiwaniu intencji QUERY znajdziesz w artykule Realizacja 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

Wymagany.

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 urządzenia

Brak.

POWIADOMIENIA NA URZĄDZENIU

Urządzenia z tą cechą mogą zwracać następujący ładunek powiadomienia 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

Wymagany.

Treść powiadomienia.

Obsługuje jedną z tych funkcji:
0 Obiekt

Sukces

priority Liczba całkowita

Wymagany.

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

status String

Wymagany.

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

Wymagany.

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

status String

Wymagany.

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"
  }
}

BŁĘDY urządzenia

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