As APIs Home para iOS 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 iOS para conferir uma lista de tipos de dispositivo e características.
Características
As versões Swift das características são geradas para uso nas APIs Home e contêm recursos adicionais específicos das APIs Home (não encontrados em 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.
Para importar características e tipos de dispositivo, importe o módulo GoogleHomeTypes para seu aplicativo:
import GoogleHomeTypes
Além disso, você pode usar typealias para nomes de características e tipos de dispositivo para encurtar o código e evitar a repetição do namespace:
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
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 aos 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 características de casa inteligente Cloud-to-cloud geralmente têm
o mesmo nome entre Cloud-to-cloud e as APIs Home, como em
o exemplo de OpenCloseTrait. 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
FanDeviceType
é composto por e apresenta três características:
- A característica
IdentifyTraitMatter oferece toda a funcionalidade do MatterIdentifyTrait. - A característica
FanControlTraitMatter oferece toda a funcionalidade do MatterFanControlTrait. - A característica
ExtendedFanControlTraitdo Google oferece toda a funcionalidade da casa inteligente smart homeFanSpeedTraitdo Google que não é coberta pela característicaFanControlTraitMatter do 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.