Modelo de dados no Android

As APIs Home para Android apresentam todos os dispositivos no ecossistema do Google Home em um modelo de dados unificado. Esse modelo abrange todos os tipos de dispositivos (de fabricantes do Google Nest ou de terceiros), independentemente da tecnologia de casa inteligente subjacente (como Matter ou Cloud-to-cloud), e oferece uma superfície de API comum para criar experiências do usuário para desenvolvedores de smart home e de apps 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 dos tipos de dispositivo 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, as características são derivadas de Matter clusters e Cloud-to-cloud características e apresentadas em um formato comum que é semelhante ao dos clusters Matter. Nas APIs Home, as características Matter-derivadas são chamadas de características, não clusters.

Assim, os tipos de dispositivo e as características nas APIs Home são destinados a ser Matter-first. Um tipo de dispositivo Matter ou característica tem precedência sobre um análogo Cloud-to-cloud.

Consulte Tipos de dispositivo com suporte no Android para conferir uma lista de tipos de dispositivo e as características deles.

Características

As versões Kotlin das características são geradas para uso nas APIs Home e contêm recursos adicionais específicos das APIs Home (não encontrados no Matter ou Cloud-to-cloud). Por exemplo, cada característica tem métodos para verificar se ela oferece suporte a um atributo ou comando específico. Isso é útil ao 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 em um tipo de dispositivo têm os mesmos recursos.

Cada característica está contida no próprio namespace e precisa ser importada individualmente para uso.

Por exemplo, para usar a característica Matter On/Off e o tipo de dispositivo On/Off Plug-in Unit, importe os seguintes pacotes para o 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 combinação 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

Android Studio tem funcionalidade de preenchimento automático e geralmente processa os nomes de pacotes completos 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 de dispositivo e características. Consulte a referência para verificar o nome do pacote correto para cada DeviceType ou Trait.

A maioria das características tem suporte para uso com automações, e algumas características estão disponíveis apenas para automações. Para mais detalhes, consulte Suporte a características da API Automation no Android.

Composição do tipo de dispositivo

As APIs Home oferecem suporte à maioria dos clusters de aplicativos Matter application clusters como características no modelo de dados. As características que não correspondem ao controle ou estados do dispositivo e não oferecem utilidade para os usuários finais, como vinculação e grupos, não são expostas pelas APIs Home.

As características derivadas de Cloud-to-cloud características de casa inteligente geralmente têm o mesmo nome entre Cloud-to-cloud e as APIs Home, como em o exemplo de OpenClose. Outras são representadas como extensões de Matter características, criadas usando Matter extensões específicas do fabricante. Essas características preenchem a lacuna de uma smart home característica em que a funcionalidade é dividida entre o Matter SDK e o ecossistema do Google Home. Um exemplo específico disso são os tipos de dispositivo Google*, que vêm do 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 ambas as fontes, Matter ou Cloud-to-cloud.

Por exemplo, o tipo de dispositivo Fan é composto por e apresenta três características:

  • A característica Identify Matter oferece toda a funcionalidade do Matter Identify.
  • A característica FanControl Matter oferece toda a funcionalidade da característica Matter FanControl.
  • A característica ExtendedFanControl do Google oferece toda a funcionalidade da característica smart home FanSpeed da casa inteligente do Google que não é coberta pela característica FanControl Matter

Esse tipo de composição de características oferece um modelo flexível para a funcionalidade completa do tipo de dispositivo, abstraindo os modelos de dados subjacentes smart home.