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. I tipi di dispositivi di illuminazione di esempio includono
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
oExtendedColorLightDevice
. - Quali attributi e comandi delle caratteristiche 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 deve essere eseguita e quali azioni devono 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 passaggio.
Dopo aver progettato un'automazione, utilizza il linguaggio specifico del dominio (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 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 un indirizzo è stato assegnato alla struttura.
Il flusso di esecuzione sarà simile al seguente:
- Utilizzando l'API Discovery, raccogli l'elenco dei dispositivi
WindowCoveringDevice
. - 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 delle tapparelle, chiama il comando
upOrOpen
della caratteristicaWindowCovering
.
Automazione complessa
Immagina un'app che crea un'automazione che attiva 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 quali luci 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
,DimmableLightDevice
oExtendedColorLightDevice
. - 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 esce o arriva nella proprietà,
monitorando
AreaPresenceState
. - Se il
presenceState
indica che la struttura è occupata, fai lampeggiare le luci scelte.
- Avvia l'automazione ogni volta che qualcuno esce o arriva nella proprietà,
monitorando
Automazione generica
Per un esempio di automazione più sofisticata, prendi in considerazione un'automazione che guidi l'utente nella creazione di un'automazione aperta, basata su uno o tutti i dispositivi che ha 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 poteva scegliere i dispositivi, gli starter e i comandi che voleva utilizzare e l'automazione lo guidava 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 |
|