As APIs do Google Home apresentam todos os dispositivos no ecossistema do Google Home em um modelo de dados unificado. Esse modelo de dados abrange todos os tipos de dispositivos (do Google Nest ou de fabricantes de terceiros), independentemente da tecnologia de casa inteligente (como Matter ou Cloud-to-cloud) e oferece uma API comum para criar experiências do usuário para smart home e desenvolvedores de apps para dispositivos móveis.
Tipos de dispositivo
Os tipos de dispositivo apresentados nas APIs Home são uma unificação dos modelos de dados Matter e Cloud-to-cloud. Alguns são derivados diretamente de Matter, outros são uma extensão de tipos de dispositivos Matter e outros são derivados de Cloud-to-cloud.
Os tipos de dispositivo contêm características usadas para controlar e gerenciar dispositivos. Assim como os tipos de dispositivo, os atributos são derivados de clusters Matter e atributos Cloud-to-cloud e apresentados em um formato comum semelhante ao dos clusters Matter. Nas APIs Home, os atributos derivados de Matter são chamados de atributos, não de clusters.
Por isso, os tipos e os recursos de dispositivo nas APIs Home são destinados a Matter. Um tipo de dispositivo ou característica Matter tem precedência sobre um analógico Cloud-to-cloud.
Consulte Tipos de dispositivos compatíveis para conferir uma lista de tipos de dispositivos e os respectivos traços.
Características
As versões Kotlin de traits são geradas para uso nas APIs Home e contêm outros recursos específicos das APIs Home (não encontrados em Matter ou Cloud-to-cloud). Por exemplo, cada trait tem métodos para verificar se ele oferece suporte a um atributo ou comando específico. Isso é útil para determinar se a leitura do estado ou determinadas ações podem ser realizadas no dispositivo de um usuário, já que nem todos os dispositivos de um tipo têm os mesmos recursos.
Cada traço está contido no próprio namespace e precisa ser importado individualmente para uso.
Por exemplo, para usar o tipo de dispositivo de unidade de plugue e o recurso Ligar/Desligar Matter, importe os seguintes pacotes para seu aplicativo:
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
Para um tipo de dispositivo de garagem (da casa inteligente do Google), inclua uma mistura de Matter e características do Google:
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
O Android Studio tem a funcionalidade de preenchimento automático e, geralmente,
processa os nomes completos dos pacotes para você ao adicionar linhas import
aos arquivos de origem
no projeto. No entanto, os nomes de pacotes não são consistentes em todos os tipos
e características de dispositivos. Consulte a referência para verificar o nome de pacote correto para cada
DeviceType
ou
Trait
.
As características também têm suporte para uso com automações, mas podem ser limitadas, e algumas estão disponíveis apenas para automações. Para uma lista, consulte Suporte a características da API Automation.
Composição do tipo de dispositivo
As APIs Home oferecem suporte à maioria dos clusters de aplicativos Matter 1.3 como características no modelo de dados. As características que não correspondem ao controle ou estados do dispositivo e não oferecem nenhum utilitário para os usuários finais, como vinculação e grupos, não são expostas pelas APIs Home.
As características derivadas das características de casa inteligente Cloud-to-cloud geralmente têm
o mesmo nome entre Cloud-to-cloud e as APIs Home, como no
exemplo de OpenClose. Outras são representadas como extensões de
características Matter, criadas usando extensões
específicas do fabricante Matter. Essas características preenchem a lacuna de uma
característica smart home em que a funcionalidade é dividida entre o
SDK Matter e o ecossistema do Google Home. Um exemplo
específico disso são os tipos de dispositivo Google*
que vêm de
Cloud-to-cloud, mas ainda não têm análogos do Matter.
Os tipos de dispositivo são compostos por características de uma ou de ambas as origens, Matter ou Cloud-to-cloud.
Por exemplo, o tipo de dispositivo de ventilador é composto por ambos e tem duas características de FanControl:
- O atributo FanControl Matter oferece todas as funcionalidades do atributo FanControl Matter.
- A característica Google ExtendedFanControl oferece todas as funcionalidades da característica FanSpeed do Google smart home que não são cobertas pela característica FanControl Matter.
Esse tipo de composição de atributo oferece um modelo flexível para a funcionalidade completa do tipo de dispositivo, abstraindo os modelos de dados smart home subjacentes.