Antes de começar a usar a API Automation, crie 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 luzes. Exemplos de tipos de dispositivos de iluminação incluem
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
ouExtendedColorLightDevice
. - Quais atributos e comandos de traços são necessários para a automação e se eles são compatíveis com a API Automation no Android.
- As características que devem ativar a automação como ativações. Os inicializadores são abordados em Componentes de automação no Android.
- Condições adicionais 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 em sequência 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 criar uma automação, use a DSL de automação para criá-la. A automação que você cria é essencialmente um "modelo". Todas as estruturas e dispositivos nele são marcadores de posição e são preenchidos com a estrutura e os dispositivos específicos de cada usuário quando eles "adotam" a automação para uso próprio.
Confira a seguir 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 para levantar as persianas às 8h. Para isso, o app precisa de uma lista dos dispositivos de persiana
(dispositivos com o tipo WindowCoveringDevice
) presentes na estrutura
que oferecem suporte a automações, que pode ser fornecida 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 você a determinar se um endereço foi atribuído à estrutura.
Então, o fluxo de execução seria algo assim:
- 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 informar um endereço e interrompa a execução.
- Caso contrário, defina a automação:
- Inicie a automação às 8h.
- Para cada persiana, chame o comando
upOrOpen
da característicaWindowCovering
.
Automação complexa
Imagine um app que cria uma automação para acender e apagar luzes quando um 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, seu app pode mostrar as luzes disponíveis e talvez permitir que o usuário selecione quais luzes ele quer que pisquem.
O fluxo de execução:
- Usando a API Discovery, reúna a lista de dispositivos de iluminação presentes na estrutura, que seriam todos os dispositivos com um tipo de dispositivo de
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
ouExtendedColorLightDevice
. - Ofereç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
presenceState
indicar 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
Por exemplo, uma automação mais sofisticada pode orientar 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 que o usuário selecione uma estrutura.
Assim, a automação pode mostrar todos os ambientes da estrutura em uma visualização de contorno expansível, em que a expansão de um ambiente mostra os dispositivos nele. Ao expandir um dispositivo, você encontra os iniciadores e comandos compatíveis com ele.
O usuário poderia escolher os dispositivos, os iniciadores e os comandos que quiser usar, e a automação orientaria 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 e salvar 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 |
|