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 un'automazione specifica per il controllo delle luci.
- Quali tipi di dispositivi sono necessari per l'automazione. Ad esempio, se l'utente
ha appena aggiunto tre nuove luci alla sua casa, potrebbe essere interessato a
un'automazione particolare pensata per controllare le luci. Esempi di tipi di dispositivi di illuminazione includono
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoExtendedColorLightDevice. - Quali attributi e comandi del tratto sono necessari per l'automazione e se sono supportati dall'API Automation su Android.
- Le caratteristiche 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 debba effettivamente essere eseguita e quali azioni debbano essere eseguite.
- Il flusso di esecuzione dell'automazione. Deve essere eseguito in sequenza o in parallelo? Hai bisogno di più percorsi logici?
Durante la progettazione, può essere utile schematizzare il flusso dell'automazione, nodo per nodo, con la logica richiesta in ogni fase.
Una volta progettata un'automazione, utilizza il linguaggio DSL di automazione per crearla. L'automazione che crei è essenzialmente un "modello": le strutture e i dispositivi al suo interno 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. Consulta la pagina Crea un'automazione per gli estratti di codice relativi a questi esempi.
Automazione semplice
Supponiamo che tu debba scrivere un'app che crei un'automazione che alzi le tapparelle
alle 8:00. Per farlo, l'app ha bisogno di un elenco delle tapparelle
(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 civico 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 un indirizzo è stato assegnato alla struttura.
Il flusso di esecuzione sarà simile al seguente:
- Utilizzando l'API Discovery, raccogli l'elenco di
WindowCoveringDevicedispositivi. - Se l'indirizzo non è compilato, comunica all'utente che deve fornire un indirizzo e interrompi l'esecuzione.
- Altrimenti, definisci l'automazione:
- Avvia l'automazione alle 8:00.
- Per ciascuna tenda, chiama il comando
upOrOpendella caratteristicaWindowCovering.
Automazione complessa
Immagina un'app che crea un'automazione che attiva le luci lampeggianti quando viene rilevato un movimento.
Una delle prime attività da svolgere durante l'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 luminosi presenti nella struttura, ovvero tutti i dispositivi con un tipo di dispositivo
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoExtendedColorLightDevice. - Fornire un modo per selezionare le luci che lampeggiano, magari tramite un pannello Impostazioni personalizzato.
- Definisci l'automazione:
- Avvia l'automazione ogni volta che qualcuno esce o arriva nei locali,
monitorando
AreaPresenceState. - Se
presenceStateindica che la struttura è occupata, fai lampeggiare le luci scelte.
- Avvia l'automazione ogni volta che qualcuno esce o arriva nei locali,
monitorando
Automazione generica
Per un esempio di automazione più sofisticata, prendiamo in considerazione un'automazione che guidi l'utente attraverso la creazione di un'automazione aperta, basata su uno o tutti i dispositivi presenti in casa.
L'automazione potrebbe prima chiedere all'utente di selezionare una struttura.
L'automazione potrebbe quindi mostrare tutte le stanze della struttura in una visualizzazione strutturata espandibile, in cui l'espansione di una stanza mostra i dispositivi al suo interno. Se espandi un elenco di dispositivi, vengono visualizzati gli starter e i comandi supportati da quel dispositivo.
L'utente può scegliere i dispositivi, gli starter e i comandi che desidera utilizzare e l'automazione lo guiderà attraverso l'assemblaggio di un'automazione.
Quando tutte le scelte e le decisioni dell'utente saranno definitive, l'automazione genererà l'automazione e la salverà nella struttura scelta.
A un livello elevato, tale automazione 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 di scoperta |
|