Prima di iniziare a utilizzare l'API Automation, devi progettare le automazioni.
Determina i seguenti parametri per ogni automazione:
- Le circostanze in cui l'automazione deve essere suggerita all'utente. Ad esempio, se l'utente ha appena aggiunto tre nuove luci alla sua casa, potrebbe essere interessato a una particolare automazione personalizzata per il controllo delle luci.
- I tipi di dispositivi necessari per l'automazione. Ad esempio, se l'utente ha appena aggiunto tre nuove luci alla sua casa, potrebbe essere interessato a una particolare automazione personalizzata per il controllo delle luci. Esempi di tipi di dispositivi di illuminazione includono
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoExtendedColorLightDevice. - Gli attributi e i comandi dei trait necessari per l'automazione e se sono supportati dall'API Automation su Android.
- I trait che devono attivare l'automazione come comandi iniziali. I comandi iniziali sono descritti in Componenti di automazione su Android.
- Condizioni aggiuntive che determinano se l'automazione deve essere eseguita e quali azioni devono essere eseguite.
- Il flusso di esecuzione dell'automazione. Deve essere eseguito in sequenza o in parallelo? Sono necessari più percorsi logici?
Durante la progettazione, potrebbe essere utile schematizzare il flusso dell'automazione, nodo per nodo, con la logica richiesta in ogni passaggio.
Una volta progettata un'automazione, utilizza l'DSL di automazione per crearla. L'automazione che crei è essenzialmente un "modello": tutte le strutture e i dispositivi in essa contenuti sono segnaposto e vengono compilati con la struttura e i dispositivi specifici di ogni utente quando "adotta" l'automazione per il proprio utilizzo.
Di seguito sono riportati diversi tipi di automazioni che un'app potrebbe creare utilizzando le API Home. Per gli estratti di codice relativi a questi esempi, consulta la pagina Creare un ’automazione.
Automazione semplice
Supponiamo che tu debba scrivere un'app che crei un'automazione che alzi le tende alle 8:00. Per farlo, l'app ha bisogno di un elenco delle tende (dispositivi con il tipo di dispositivo WindowCoveringDevice) presenti nella struttura che supportano le automazioni, che possono essere fornite dall'API Discovery.
Per le automazioni che devono essere eseguite a una determinata ora, devi anche assicurarti che l'utente abbia assegnato un indirizzo stradale alla struttura scelta in Google Home app (GHA), altrimenti l'automazione non conosce il fuso orario in cui verrà eseguita. L'API Discovery può aiutarti a determinare se è stato assegnato un indirizzo alla struttura.
Il flusso di esecuzione sarà simile al seguente:
- Utilizzando l'API Discovery, raccogli l'elenco dei dispositivi
WindowCoveringDevice. - Se l'indirizzo stradale non è compilato, notifica all'utente che deve fornire un indirizzo stradale e interrompi l'esecuzione.
- In caso contrario, definisci l'automazione:
- Avvia l'automazione alle 8:00.
- Per ogni tenda, chiama il comando
upOrOpendel traitWindowCovering.
Automazione complessa
Immagina un'app che crei un'automazione che attivi le luci lampeggianti quando viene rilevato un movimento.
Una delle prime attività nell'implementazione di questa app è scoprire quali luci sono disponibili nella casa dell'utente utilizzando l'API Discovery. Con queste informazioni, la tua app può ora mostrare le luci disponibili e magari consentire all'utente di selezionare le luci che vuole far lampeggiare.
Il flusso di esecuzione:
- Utilizzando l'API Discovery, raccogli l'elenco dei dispositivi di illuminazione presenti nella struttura, ovvero tutti i dispositivi con un tipo di dispositivo
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoExtendedColorLightDevice. - Fornisci un modo per selezionare le luci che lampeggiano, magari tramite un pannello Impostazioni personalizzato.
- Definisci l'automazione:
- Avvia l'automazione ogni volta che qualcuno lascia o arriva nei locali, monitorando
AreaPresenceState. - Se
presenceStateindica che la struttura è occupata, fai lampeggiare le luci scelte.
- Avvia l'automazione ogni volta che qualcuno lascia o arriva nei locali, monitorando
Automazione generica
Per un esempio di automazione più sofisticata, prendi in considerazione quella che guida l'utente nella creazione di un'automazione aperta, basata su tutti o alcuni dei dispositivi che ha in casa.
L'automazione potrebbe prima chiedere all'utente di selezionare una struttura.
Poi l'automazione potrebbe mostrare tutte le stanze della struttura in una visualizzazione a struttura espandibile, in cui l'espansione di una stanza mostra i dispositivi in essa contenuti. L'ulteriore espansione di un dispositivo elenca i comandi iniziali e i comandi supportati da quel dispositivo.
L'utente può scegliere i dispositivi, i comandi iniziali e i comandi che vuole utilizzare e l'automazione lo guiderà nell'assemblaggio di un'automazione.
Quando tutte le scelte e le decisioni dell'utente sono definitive, l'automazione genera l'automazione e la salva nella struttura scelta.
A livello generale, un'automazione di questo tipo dovrebbe raccogliere diversi set di dati sulla casa dell'utente utilizzando l'API Structure per Android, l'API Device per Android, e l'API Discovery.
| API | Informazioni |
|---|---|
| API Structure |
|
| API Device |
|
| API Discovery |
|