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) oraz za pomocą automation script editor na Google Home for web.
Teraz automatyzacje w ekosystemie Google Home są dostępne za pomocą interfejsów Home API na Androida. Wykorzystują one te same podstawowe koncepcje co GHA rutyny w aplikacji Google Home i script editor, ale mają ulepszone funkcje i możliwości, które są dostępne tylko dzięki interfejsom Home API, w tym:
- dostęp do wszystkich Matter standardowych i smart home cech urządzeń, które są prezentowane w interfejsach Home API;
- obsługę sekwencyjnych, równoległych i selektywnych 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 Kotlinie.
Wszystkie cechy i typy, których chcesz używać w aplikacji z interfejsami Device &Structure API lub Automation API, muszą zostać zarejestrowane podczas inicjowania. Więcej informacji znajdziesz w artykule 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ń, przestaną działać też elementy początkowe, warunki i działania powiązane z tymi urządzeniami.
Za każdym razem, gdy aplikacja się uruchamia, sprawdzaj, czy uprawnienia nadal obowiązują. Jeśli zostały cofnięte, usuń wszystkie poprzednie dane, w tym dane zapisane w pamięci podręcznej aplikacji.
Ścieżka dewelopera
Interfejs Automation API to tylko część większej ścieżki dewelopera. Jest on dostępny po zintegrowaniu interfejsów Structure i Device API, aby użytkownik mógł korzystać z automatyzacji.
- Deweloper planuje automatyzację i definiuje ją za pomocą języka Automation DSL.
- Deweloper osadza definicję automatyzacji w aplikacji na Androida napisanej w Kotlinie.
- Aplikacja prezentuje automatyzacje użytkownikowi na podstawie informacji o jego urządzeniach, w tym o cechach, atrybutach, poleceniach i zdarzeniach, które zostały zebrane za pomocą interfejsu Discovery API lub Device API.
- Za pomocą interfejsu Discovery API aplikacja może wygenerować wersję roboczą automatyzacji dostosowaną do typów urządzeń i cech występujących w strukturze użytkownika, z jego udziałem lub bez niego.
- Interfejs Device API może udostępniać większość tych samych informacji co interfejs Discovery API, ale nie jest zoptymalizowany pod kątem przypadków użycia automatyzacji. Więcej informacji znajdziesz w artykule Porównanie interfejsów Device API i Discovery API.
- Aplikacja tworzy rzeczywistą automatyzację, która jest powiązana z wybraną strukturą.
- Automatyzacja jest teraz dostępna w strukturze użytkownika i można ją uruchomić lub usunąć za pomocą metod interfejsu Structure API.
Użytkownik może w dowolnym momencie utworzyć nowe instancje automatyzacji, wybierając inną strukturę lub, w zależności od logiki aplikacji, inny zestaw urządzeń. Za każdym razem, gdy to zrobi, aplikacja wygeneruje nową instancję automatyzacji.
W najprostszym scenariuszu możesz zaproponować użytkownikom predefiniowaną automatyzację, która wykonuje stosunkowo proste zadanie. Możesz też przedstawić szkielet automatyzacji, który użytkownik dostosuje do swoich potrzeb. Możesz też napisać otwarty edytor automatyzacji, który pozwoli użytkownikowi tworzyć złożone automatyzacje przy użyciu wszystkich elementów dostępnych w interfejsie Automation API.
Sugestie automatyzacji
Interfejsy Home API mogą sugerować automatyzacje dla
Structure na podstawie takich czynników
jak typy urządzeń znajdujące się w przestrzeni.
Sugestie automatyzacji są reprezentowane przez klasę
AutomationSuggestion.
Interfejs Structure obejmuje interfejs HasSuggestions, który udostępnia funkcję suggestions(), która zwraca zbiór sugestii automatyzacji.
Metody
likeSuggestion()
i
dislikeSuggestion()
mają być połączone z elementami sterującymi interfejsu użytkownika
i
, które użytkownik może kliknąć
aby przekazać opinię.
Trzecia metoda,
clearSuggestionFeedback(),
umożliwia użytkownikowi usunięcie opinii o sugerowanej automatyzacji.
Opinie użytkowników wpływają na przyszłe sugestie.
Limity zasobów
Automatyzacje w interfejsach Home API są objęte tymi ograniczeniami:
| Dane | Limit |
|---|---|
| Maksymalna liczba automatyzacji na strukturę | 64 |
| Maksymalna liczba węzłów na automatyzację | 128 |
| Maksymalna liczba węzłów wyrażeń na automatyzację | 64 |
| Maksymalna liczba instancji automatyzacji na strukturę | 1024 |
| Maksymalna liczba instancji automatyzacji na dewelopera na strukturę | 64 |
| Maksymalna liczba wykonań na strukturę dziennie | 1024 |
| Maksymalna liczba wykonań na dewelopera na strukturę dziennie | 128 |