Automatyzacje umożliwiają automatyzowanie zadań i ustawień urządzeń w domu. Automatyzacje są dostępne w ekosystemie Google Home jako rutyny w Google Home app (GHA) i za pomocą automation script editor na Google Home for web.
Automatyzacje w ekosystemie Google Home są teraz dostępne za pomocą interfejsów Home API na Androida. Korzystają one z tych samych podstawowych pojęć co GHArutyny i script editor, ale mają ulepszone funkcje i możliwości dostępne tylko dzięki interfejsom Home API, w tym:
- Dostęp do wszystkich standardowych Matter i smart home cech urządzenia, które są dostępne w interfejsach Home API.
- Obsługa sekwencyjnych, równoległych i wybranych przepływów wykonywania.
Automatyzacje są pisane w języku Automation DSL, czyli języku specyficznym dla domeny, który został zaprojektowany do tworzenia automatyzacji w języku Kotlin.
Wszystkie cechy i typy, których zamierzasz używać w aplikacji z interfejsami Device & Structure lub Automation API, muszą zostać zarejestrowane podczas inicjowania. Zobacz Inicjowanie domu na Androidzie.
Wskazówki, jeśli użytkownik cofnie pełne uprawnienia
Jeśli użytkownik cofnie pełne uprawnienia, wszystkie dotychczasowe automatyzacje przestaną działać. Jeśli użytkownik cofnie dostęp do określonych urządzeń, inicjatory, warunki i działania powiązane z tymi urządzeniami przestaną działać.
Przy każdym uruchomieniu aplikacji sprawdzaj, czy uprawnienia nadal obowiązują. Jeśli zostały one wycofane, upewnij się, że wszystkie poprzednie dane, w tym dane zapisane w pamięci podręcznej aplikacji, zostały usunięte.
Ścieżka dewelopera
Interfejs Automation API to tylko jeden z etapów większego procesu tworzenia. Następuje to po zintegrowaniu interfejsów Structure i Device API, aby mieć pewność, że użytkownik może korzystać z automatyzacji, gdy tylko tego potrzebuje.
- Deweloper planuje automatyzację i definiuje ją za pomocą języka DSL automatyzacji.
- Deweloper umieszcza definicję automatyzacji w aplikacji na Androida napisanej w języku Kotlin.
- Aplikacja prezentuje użytkownikowi automatyzacje na podstawie informacji o jego urządzeniach, w tym cech, atrybutów, poleceń i zdarzeń, zebranych za pomocą interfejsu Discovery API lub Device API.
- Za pomocą interfejsu Discovery API aplikacja może generować projekt automatyzacji dostosowany do typów urządzeń i ich cech w strukturze użytkownika, z udziałem użytkownika lub bez niego.
- Interfejs Device API może dostarczać większość tych samych informacji co interfejs Discovery API, ale nie jest zoptymalizowany pod kątem automatyzacji. Więcej informacji znajdziesz w artykule Porównanie interfejsu Device API i interfejsu Discovery API.
- Aplikacja tworzy rzeczywistą automatyzację powiązaną z wybraną strukturą.
- Automatyzacja jest teraz dostępna w strukturze użytkownika i można ją wykonać lub usunąć za pomocą metod interfejsu API struktury.
Użytkownik może w dowolnym momencie tworzyć nowe instancje automatyzacji, wybierając inną strukturę lub, w zależności od logiki aplikacji, być może inny zestaw urządzeń. Za każdym razem, gdy to zrobią, aplikacja wygeneruje nową instancję automatyzacji.
W najprostszym scenariuszu możesz zaproponować użytkownikom gotową automatyzację, która wykonuje stosunkowo proste zadanie. Możesz też zaprezentować szkielet automatyzacji, który użytkownik dostosuje do swoich potrzeb. Możesz też napisać otwarty edytor automatyzacji, który umożliwi użytkownikowi tworzenie złożonych automatyzacji przy użyciu wszystkich elementów dostępnych w interfejsie Automation API.
Limity zasobów
Automatyzacje w interfejsach Home API są objęte tymi ograniczeniami:
| Dane | Limit |
|---|---|
| Maksymalna liczba automatyzacji w obrębie domu | 64 |
| Maksymalna liczba węzłów w automatyzacji | 128 |
| Maksymalna liczba węzłów wyrażeń w jednej automatyzacji | 64 |
| Maksymalna liczba instancji automatyzacji w obrębie domu | 1024 |
| Maksymalna liczba instancji automatyzacji na dewelopera na strukturę | 64 |
| Maksymalna liczba wykonań na strukturę dziennie | 1024 |
| Maksymalna liczba wykonań dziennie na dewelopera, strukturę i dzień | 128 |