Omówienie interfejsu Automation API na Androidzie

Automatyzacje to sposób na zautomatyzowanie zadań i ustawień urządzeń w domu. Automatyzacje są dostępne w ekosystemie Google Home jako rutyny w Google Home app (GHA) i poprzez automation script editor na Google Home for web.

Teraz automatyzacje w ekosystemie Google Home są dostępne za pomocą interfejsu API Home na Androida. Korzystają z tych samych podstawowych koncepcji, co rutyny GHA i interfejs 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 i smart home właściwości Matter urządzenia, zgodnie z informacjami w interfejsach Home API.
  • Obsługa sekwencyjnego, równoległego i wybranego sposobu wykonywania.

Automatyzacje są pisane za pomocą Automation DSL, języka specyficznego dla danej dziedziny, który służy do tworzenia automatyzacji w Kotlinie.

Wszystkie cechy i typy, których zamierzasz używać w aplikacji z interfejsami Device & Structure lub Automation, muszą zostać zarejestrowane podczas inicjalizacji. Zapoznaj się z artykułem Inicjowanie domu na urządzeniu z Androidem.

Ścieżka dewelopera

Interfejs Automation API jest częścią większej ścieżki rozwoju. Jest to możliwe po zintegrowaniu interfejsów Structure i Device API, aby umożliwić użytkownikom korzystanie z automatyzacji.

  1. Deweloperzy planują automatyzację i określają ją za pomocą języka Automation DSL.
  2. Deweloper umieszcza definicję automatyzacji w aplikacji na Androida w języku Kotlin.
  3. Aplikacja przedstawia 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.
    1. Dzięki Discovery API aplikacja może wygenerować projekt automatyzacji dostosowany do typów urządzeń i właściwości obecnych w strukturze użytkownika (z udziałem lub bez jego udziału).
    2. Interfejs Device API może udostępniać 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 interfejsów Device API i Discovery API.
  4. Aplikacja tworzy automatyzację, która jest powiązana z wybraną strukturą.
  5. Automatyzacja jest teraz dostępna w strukturze użytkownika i można ją wykonać lub usunąć za pomocą metod interfejsu Structure API.

Użytkownik może w dowolnym momencie tworzyć nowe instancje automatyzacji, wybierając inną strukturę lub, w zależności od logiki aplikacji, inny zestaw urządzeń. Za każdym razem aplikacja tworzy nową instancję automatyzacji.

W najprostszym przypadku możesz zaproponować użytkownikom zdefiniowaną wcześniej automatyzację, która wykonuje stosunkowo proste zadanie. Możesz też przedstawić szkielet automatyzacji, który użytkownik dostosowuje do swoich potrzeb. Możesz też napisać edytor automatyzacji o otwartym kodzie, który pozwoli użytkownikom tworzyć złożone automatyzacje za pomocą wszystkich elementów dostępnych w interfejsie Automation API.

Limity zasobów

W przypadku automatyzacji w interfejsach API Home obowiązują te limity:

Tabela: Limity zasobów Automation API
Dane Limit
Maksymalna liczba automatyzacji na strukturę 64
Maksymalna liczba węzłów na automatyzację 128
Maksymalna liczba węzłów wyrażenia 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