Antes de começar a usar a API Automation, você precisa projetar suas automações.
Determine os seguintes parâmetros para cada automação:
- As circunstâncias em que a automação deve ser sugerida ao usuário. Por exemplo, se o usuário acabou de adicionar três novas luzes à casa, ele pode se interessar por uma automação específica para controlar as luzes.
- Quais tipos de dispositivos são necessários para a automação. Por exemplo, se o usuário acabou de adicionar três novas luzes à casa, ele pode se interessar por uma automação específica para controlar as luzes. Os tipos de dispositivos de iluminação de exemplo incluem
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceouExtendedColorLightDevice. - Quais atributos e comandos de trait são necessários para a automação e se eles são compatíveis com a API Automation no Android.
- Os traits que devem ativar a automação como ativações. As ativações são discutidas em Componentes de automação no Android.
- Outras condições que determinam se a automação deve ser executada e quais ações serão realizadas.
- O fluxo de execução da automação. Ela deve ser executada sequencialmente ou em paralelo? Você precisa de vários caminhos lógicos?
Ao projetar, pode ser útil diagramar o fluxo da automação, nó por nó, com a lógica necessária em cada etapa.
Depois de projetar uma automação, use a DSL de automação para criá-la. A automação criada é essencialmente um "modelo". Todas as estruturas e dispositivos nela são marcadores de posição e preenchidos com a estrutura e os dispositivos específicos de cada usuário quando eles "adotam" a automação para uso próprio.
A seguir, mostramos diferentes tipos de automações que um app pode criar usando as APIs Home. Consulte a página Criar uma automação para ver trechos de código relacionados a esses exemplos.
Automação simples
Digamos que você precise escrever um app que crie uma automação que levante as persianas às 8h. Para fazer isso, o app precisa de uma lista das persianas (dispositivos com o tipo de dispositivo WindowCoveringDevice) presentes na estrutura que oferecem suporte a automações, que podem ser fornecidas pela API Discovery.
Para automações que precisam ser executadas em um determinado horário, também é necessário garantir que o usuário tenha atribuído um endereço para a estrutura escolhida no Google Home app (GHA). Caso contrário, a automação não saberá o fuso horário em que será executada. A API Discovery pode ajudar a determinar se um endereço foi atribuído à estrutura.
Assim, o fluxo de execução seria algo parecido com isto:
- Usando a API Discovery, colete a lista de dispositivos
WindowCoveringDevice. - Se o endereço não estiver preenchido, notifique o usuário de que ele precisa fornecer um endereço e interrompa a execução.
- Caso contrário, defina a automação:
- Inicie a automação às 8h.
- Para cada uma das persianas, chame o comando
upOrOpendo traitWindowCovering.
Automação complexa
Imagine um app que cria uma automação que aciona luzes piscando quando o movimento é detectado.
Uma das primeiras tarefas na implementação desse app é descobrir quais luzes estão disponíveis na casa do usuário usando a API Discovery. Com essas informações, o app pode mostrar as luzes disponíveis e permitir que o usuário selecione quais luzes ele quer piscar.
O fluxo de execução:
- Usando a API Discovery, colete a lista de dispositivos de luz presentes na estrutura, que seriam todos os dispositivos com um tipo de dispositivo
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceouExtendedColorLightDevice. - Forneça uma maneira de selecionar as luzes que piscam, talvez por um painel de configurações personalizado.
- Defina a automação:
- Inicie a automação sempre que alguém sair ou chegar ao local, monitorando
AreaPresenceState. - Se o
presenceStateindicar que a estrutura está ocupada, pisque as luzes escolhidas.
- Inicie a automação sempre que alguém sair ou chegar ao local, monitorando
Automação genérica
Para um exemplo de uma automação mais sofisticada, considere uma que orienta o usuário na criação de uma automação aberta, com base em todos ou em alguns dos dispositivos que ele tem em casa.
A automação pode primeiro pedir ao usuário que selecione uma estrutura.
Em seguida, a automação pode mostrar todos os cômodos da estrutura em uma visualização resumida expansível, em que a expansão de um cômodo mostra os dispositivos nele. A expansão de um dispositivo lista as ativações e os comandos compatíveis com ele.
O usuário pode escolher os dispositivos, as ativações e os comandos que quer usar, e a automação vai orientar o usuário na montagem de uma automação.
Quando todas as escolhas e decisões do usuário forem finais, a automação vai gerar a automação e salvá-la na estrutura escolhida.
Em um nível alto, essa automação precisaria coletar vários conjuntos de dados sobre a casa do usuário usando a API Structure para Android, a API Device para Android, e a API Discovery.
| API | Informações |
|---|---|
| API Structure |
|
| API Device |
|
| API Discovery |
|