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:

SUCCESS
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:

FAILURE
errorCode String

Wymagane.

Wartością może być kod błędu dla tej cechy, np. deviceStuck.

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

Urządzenie ERRORS

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