Panoramica dell'API Automation su Android

Le automazioni sono un modo per automatizzare le attività e le impostazioni dei dispositivi in una casa. Le automazioni sono disponibili nell'ecosistema Google Home come routine nel Google Home app (GHA) e tramite automation script editor su Google Home for web.

Ora, le automazioni nell'ecosistema Google Home sono disponibili tramite le API Home per Android. Utilizzano gli stessi concetti di base delle routine GHA e dello script editor, ma con funzionalità e capacità avanzate possibili solo tramite le API Home, tra cui:

  • Accesso a tutti i tratti Matter standard e smart home per un dispositivo, come indicato nelle API Home.
  • Supporto per flussi di esecuzione sequenziali, paralleli e selezionati.

Le automazioni vengono scritte utilizzando Automation DSL, un linguaggio specifico del dominio progettato per la creazione di automazioni in Kotlin.

Tutti i tratti e i tipi che intendi utilizzare nella tua app con le API Device &Structure o Automation devono essere registrati all'inizializzazione. Consulta la sezione Inizializzare la casa su Android.

Indicazioni se l'utente revoca le autorizzazioni complete

Se l'utente revoca le autorizzazioni complete, tutte le automazioni esistenti smetteranno di funzionare. Inoltre, se l'utente revoca l'accesso a dispositivi specifici, gli avviatori, le condizioni e le azioni associati a questi dispositivi smetteranno di funzionare.

Ogni volta che l'app viene avviata, assicurati che le autorizzazioni siano ancora in vigore. Se sono state revocate, assicurati che tutti i dati precedenti, inclusi quelli memorizzati nella cache dell'applicazione, vengano rimossi.

Percorso dello sviluppatore

L'API Automation è una parte di un percorso di sviluppo più ampio. Viene dopo l'integrazione delle API Structure e Device per garantire che un utente possa utilizzare un'automazione quando lo desidera.

  1. Lo sviluppatore pianifica l'automazione e la definisce utilizzando Automation DSL.
  2. Lo sviluppatore incorpora la definizione dell'automazione in un'app per Android Kotlin.
  3. L'app presenta le automazioni a un utente in base alle informazioni sui suoi dispositivi, inclusi tratti, attributi, comandi ed eventi, raccolte utilizzando l'API Discovery o l'API Device.
    1. Con l'API Discovery, l'app può generare una bozza di automazione personalizzata in base ai tipi di dispositivi e ai tratti presenti nella struttura dell'utente, con o senza l'input dell'utente.
    2. L'API Device può fornire la maggior parte delle stesse informazioni dell'API Discovery, ma non è ottimizzata per i casi d'uso dell'automazione. Per ulteriori dettagli, consulta la sezione Confrontare l'API Device e l'API Discovery.
  4. L'app crea l'automazione effettiva a cui è associata la struttura selezionata.
  5. L'automazione è ora disponibile nella struttura dell'utente e può essere eseguita o eliminata utilizzando i metodi dell'API Structure.

L'utente può creare nuove istanze dell'automazione in qualsiasi momento, selezionando una struttura diversa o, a seconda della logica dell'app, magari un insieme diverso di dispositivi. Ogni volta che lo fa, l'app genera una nuova istanza dell'automazione.

Nello scenario più semplice, potresti suggerire ai tuoi utenti un'automazione predefinita che esegue un'attività relativamente semplice. In alternativa, potresti presentare uno scheletro di un'automazione che l'utente personalizza in base alle sue esigenze. Oppure potresti scrivere un editor di automazione aperto che consenta all'utente di creare automazioni complesse utilizzando tutti i blocchi predefiniti disponibili nell'API Automation.

Suggerimenti di automazione

Le API Home possono suggerire automazioni per un Structure in base a fattori come i tipi di dispositivi presenti nello spazio.

I suggerimenti di automazione sono rappresentati dalla AutomationSuggestion classe.

L'interfaccia Structure include l' HasSuggestions interfaccia, che fornisce la suggestions() funzione, che restituisce una raccolta di suggerimenti di automazione.

I metodi likeSuggestion() e dislikeSuggestion() sono progettati per essere collegati ai controlli dell'interfaccia utente e che l'utente può toccare per fornire feedback.

Un terzo metodo, clearSuggestionFeedback(), consente all'utente di rimuovere il feedback per un'automazione suggerita.

Il feedback degli utenti influenza i suggerimenti futuri.

Limiti di risorse

Alle automazioni nelle API Home si applicano i seguenti limiti:

Tabella: limiti delle risorse dell'API Automation
Metrica Limite
Numero massimo di automazioni per struttura 64
Numero massimo di nodi per automazione 128
Numero massimo di nodi di espressione per automazione 64
Numero massimo di istanze di automazione per struttura 1024
Numero massimo di istanze di automazione per sviluppatore per struttura 64
Numero massimo di esecuzioni per struttura al giorno 1024
Numero massimo di esecuzioni per sviluppatore per struttura al giorno 128