As automações são uma maneira de automatizar tarefas e configurações de dispositivos em uma casa. Elas estão disponíveis no ecossistema do Google Home como Rotinas no Google Home app (GHA) e pelo automation script editor no Google Home for web.
Agora, as automações no ecossistema do Google Home estão disponíveis pelas APIs Home para Android. Elas usam os mesmos conceitos básicos usados em GHA Rotinas e o script editor, mas com recursos e funcionalidades aprimorados que só são possíveis pelas APIs Home, incluindo:
- Acesso a todos os recursos Matter padrão e smart home para um dispositivo, conforme apresentado nas APIs Home.
- Suporte a fluxos de execução sequenciais, paralelos e selecionados.
As automações são escritas usando a DSL de automação, uma linguagem específica de domínio projetada para criar automações em Kotlin.
Todos os recursos e tipos que você pretende usar no app com as APIs Device &Structure ou Automation precisam ser registrados na inicialização. Consulte Inicializar a casa no Android.
Orientação se o usuário revogar as permissões totais
Se o usuário revogar as permissões totais, todas as automações atuais vão parar de funcionar. Além disso, se o usuário revogar o acesso a dispositivos específicos, os acionadores, as condições e as ações associadas a esses dispositivos vão parar de funcionar.
Sempre que o app for iniciado, verifique se as permissões ainda estão em vigor. Se elas tiverem sido revogadas, remova todos os dados anteriores, incluindo os dados armazenados em cache no aplicativo.
Jornada do desenvolvedor
A API Automation é uma parte de uma jornada de desenvolvimento maior. Ela vem depois da integração das APIs Structure e Device para garantir que, quando um usuário quiser usar uma automação, ele possa fazer isso.
- O desenvolvedor planeja a automação e a define usando a DSL de automação.
- O desenvolvedor incorpora a definição de automação em um app Android Kotlin.
- O app apresenta automações a um usuário com base em informações sobre os dispositivos dele, incluindo recursos, atributos, comandos e eventos, coletados usando a API Discovery ou a API Device.
- Com a API Discovery, o app pode gerar uma automação de rascunho personalizada para os tipos de dispositivos e recursos presentes na estrutura do usuário, com ou sem a entrada do usuário.
- A API Device pode fornecer a maioria das mesmas informações que a API Discovery, mas não é otimizada para casos de uso de automação. Consulte Comparar a API Device e a API Discovery para mais detalhes.
- O app cria a automação real que é associada à estrutura selecionada.
- A automação agora está disponível na estrutura do usuário e pode ser executada ou excluída usando métodos da API Structure.
O usuário pode criar novas instâncias da automação a qualquer momento, selecionando uma estrutura diferente ou, dependendo da lógica do app, talvez um conjunto diferente de dispositivos. Cada vez que isso acontece, o app gera uma nova instância da automação.
No cenário mais básico, você pode sugerir aos usuários uma automação predefinida que executa uma tarefa relativamente básica. Como alternativa, você pode apresentar um esqueleto de uma automação que o usuário personaliza para atender às necessidades dele. Ou você pode escrever um editor de automação aberto que permite ao usuário criar automações complexas usando todos os blocos de construção disponíveis na API Automation.
Sugestões de automação
As APIs Home podem sugerir automações para um
Structure com base em fatores
como os tipos de dispositivos presentes no espaço.
As sugestões de automação são representadas pela
AutomationSuggestion
classe.
A interface Structure
abrange a
HasSuggestions
interface, que fornece a
suggestions()
função, que retorna uma coleção de sugestões de automação.
Limites de recursos
Os limites a seguir se aplicam a automações nas APIs Home:
| Métrica | Limite |
|---|---|
| Número máximo de automações por estrutura | 64 |
| Número máximo de nós por automação | 128 |
| Número máximo de nós de expressão por automação | 64 |
| Número máximo de instâncias de automação por estrutura | 1024 |
| Número máximo de instâncias de automação por desenvolvedor por estrutura | 64 |
| Número máximo de execuções por estrutura por dia | 1024 |
| Número máximo de execuções por desenvolvedor por estrutura por dia | 128 |