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 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,DimmableLightDeviceouExtendedColorLightDevice. - 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.
- Características que devem ativar a automação como ponto de partida. Os iniciadores são abordados em Componentes de automação no Android.
- Condições adicionais que determinam se a automação deve realmente ser executada e quais ações devem ser 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 projetar 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
Imagine que você precisa criar um aplicativo que automatize o processo de abertura e fechamento das persianas às 8h da manhã. Para isso, o aplicativo precisa de uma lista das persianas (dispositivos com o tipo de dispositivo WindowCoveringDevice) presentes na estrutura que suportam automações, que podem ser fornecidas pela API Discovery.
Para automações que precisam ser executadas em um determinado horário, você também precisa 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 da manhã.
- Para cada uma das persianas, chame o comando
upOrOpenda 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 deste aplicativo é descobrir quais luzes estão disponíveis na casa do usuário usando a API Discovery. Com essas informações, seu aplicativo agora pode exibir as luzes disponíveis e talvez permitir que o usuário selecione quais luzes deseja que pisquem.
Fluxo de execução:
- Usando a API Discovery, colete a lista de dispositivos de luz presentes na estrutura, que seriam quaisquer dispositivos com um tipo de dispositivo
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceouExtendedColorLightDevice. - Disponibilize uma forma de selecionar as luzes que piscam, talvez através de 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 automação mais sofisticada, considere uma que oriente o usuário na criação de uma automação aberta, baseada em qualquer um ou em todos os dispositivos que ele possui 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. Ao expandir um ambiente, os dispositivos dele aparecem. Expandir ainda mais a lista de dispositivos inclui os programas iniciais e os comandos suportados por esse dispositivo.
O usuário poderia escolher os dispositivos, os iniciadores e os comandos que desejasse usar, e a automação o guiaria na montagem da automação.
Quando todas as escolhas e decisões do usuário forem finalizadas, a automação gerará o resultado e o salvará na estrutura escolhida.
Em linhas gerais, essa automação precisaria coletar diversos conjuntos de dados sobre a residência do usuário utilizando oAPI de estrutura para Android , oAPI de dispositivo para Android e a API Discovery.
| API | Informações |
|---|---|
| API Structure |
|
| API Device |
|
| API de descoberta |
|