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 precisa ser sugerida ao usuário. Por exemplo, se o usuário acabou de adicionar três novas luzes à casa, ele pode ter interesse em 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
acaba de adicionar três novas luzes à casa, ele pode ter interesse em uma
automatização específica para controlar as luzes. Exemplos de tipos de dispositivos
de luz incluem
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
ouExtendedColorLightDevice
. - Quais atributos e comandos de traço são necessários para a automação e se eles têm suporte da API Automation.
- Os atributos que precisam ativar a automação como ativações. As ativações são discutidas em Componentes de automação.
- Outras condições que determinam se a automação precisa ser executada e quais ações precisam ser realizadas.
- O fluxo de execução da automação. Ele precisa ser executado 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 é basicamente um "modelo". Todas as estruturas e dispositivos 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.
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 conferir trechos de código relacionados a esses exemplos.
Automação simples
Digamos que você precise criar um app que automatize a abertura das persianas
às 8h. Para isso, o app precisa de uma lista de persianas
(dispositivos com o tipo de dispositivo WindowCoveringDevice
) presentes na estrutura
que ofereça suporte a automações, o que pode ser fornecido 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 vai saber o fuso horário em que será executada. A API Discovery pode ajudar a determinar se um endereço foi atribuído ou não à estrutura.
O fluxo de execução seria mais ou menos assim:
- Usando a API Discovery, colete a lista de dispositivos
WindowCoveringDevice
. - Se o endereço não for 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
upOrOpen
do atributoWindowCovering
.
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 deste app é descobrir quais luzes estão disponíveis na casa do usuário usando a API Discovery. Com essas informações, o app agora pode mostrar as luzes disponíveis e talvez permitir que o usuário selecione as luzes que 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 de
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
ouExtendedColorLightDevice
. - Ofereça uma maneira de selecionar as luzes que piscam, talvez usando 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, faça as luzes escolhidas piscarem.
- 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 a criar uma automação aberta com base em qualquer um ou todos os dispositivos que ele tem em casa.
A automação pode primeiro solicitar que o usuário selecione uma estrutura.
Em seguida, a automação poderia mostrar todos os ambientes na estrutura em uma visualização de contorno expandível, em que a expansão de um ambiente mostra os dispositivos nele. A expansão de um dispositivo mostra os iniciadores e os comandos compatíveis com ele.
O usuário pode escolher os dispositivos, ativações e comandos que quer usar, e a automação orienta 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.
De modo geral, essa automação precisaria reunir vários conjuntos de dados sobre a casa do usuário usando a API Structure, a API Device e a API Discovery.
API | Informações |
---|---|
API Structure |
|
API Device |
|
API Discovery |
|