데이터 모델

Home API는 Google Home 생태계의 모든 기기를 통합 데이터 모델로 표시합니다. 이 데이터 모델은 기본 스마트 홈 기술(예: Matter 또는 Cloud-to-cloud)과 관계없이 Google Nest 또는 서드 파티 제조업체의 모든 유형의 기기를 다루며 smart home 및 모바일 앱 개발자 모두를 위한 사용자 환경을 빌드하는 공통 API 노출 영역을 제공합니다.

기기 유형

Home API에 표시되는 기기 유형은 MatterCloud-to-cloud 데이터 모델의 통합입니다. 일부는 Matter에서 직접 파생되고, 일부는 Matter 기기 유형의 확장이며, 일부는 Cloud-to-cloud에서 파생됩니다.

기기 유형에는 기기를 제어하고 관리하는 데 사용되는 트레잇이 포함됩니다. 기기 유형과 마찬가지로 트레잇은 Matter 클러스터 및 Cloud-to-cloud 트레잇에서 파생되며 Matter 클러스터와 유사한 공통 형식으로 표시됩니다. Home API에서 Matter 파생 트레잇은 클러스터가 아닌 트레잇이라고 합니다.

따라서 Home API의 기기 유형 및 트레잇은 Matter 우선으로 설계되었습니다. Matter 기기 유형 또는 트레잇은 Cloud-to-cloud 아날로그보다 우선 적용됩니다.

기기 유형 및 기기 유형의 트레잇 목록은 지원되는 기기 유형을 참고하세요.

특성

트레잇의 Kotlin 버전은 Home API에서 사용하도록 생성되며 Home API에만 해당하는 추가 기능 (Matter 또는 Cloud-to-cloud에는 없음)을 포함합니다. 예를 들어 각 트레잇에는 트레잇이 특정 속성 또는 명령어를 지원하는지 확인하는 메서드가 있습니다. 이는 기기 유형의 모든 기기에 동일한 기능이 있는 것은 아니므로 사용자의 기기에서 상태 읽기 또는 특정 작업을 실행할 수 있는지 확인하는 데 유용합니다.

각 트레잇은 자체 네임스페이스에 포함되어 있으며 사용하려면 개별적으로 가져와야 합니다.

예를 들어 Matter 켜기/끄기 트레잇 및 켜기/끄기 플러그인 장치 유형을 사용하려면 다음 패키지를 애플리케이션으로 가져옵니다.

import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice

차고 기기 유형(Google 스마트 홈의 경우)에는 Matter 및 Google 트레잇을 혼합하여 포함합니다.

import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice

Android Studio에는 자동 완성 기능이 있으며 프로젝트의 소스 파일에 import 줄을 추가할 때 전체 패키지 이름을 자동으로 처리하는 경우가 많습니다. 그러나 패키지 이름은 모든 기기 유형 및 트레잇에서 일관되지 않습니다. 참조를 참고하여 각 DeviceType 또는 Trait의 올바른 패키지 이름을 확인하세요.

트레잇은 자동화와 함께 사용할 수도 있지만 제한될 수 있으며 일부 트레잇은 자동화에서만 사용할 수 있습니다. 목록은 Automation API 트레잇 지원을 참고하세요.

기기 유형 구성

Home API는 대부분의 Matter 1.3 애플리케이션 클러스터를 데이터 모델의 트레잇으로 지원합니다. 기기 제어 또는 상태에 해당하지 않으며 최종 사용자에게 유틸리티를 제공하지 않는 트레잇(예: 결합 및 그룹)은 Home API를 통해 노출되지 않습니다.

Cloud-to-cloud 스마트 홈 트레잇에서 파생된 트레잇은 일반적으로 Cloud-to-cloud와 Home API 간에 동일한 이름을 갖습니다(예: OpenClose). 나머지는 Matter 제조업체별 확장 프로그램을 사용하여 만든 Matter 트레잇의 확장 프로그램으로 표시됩니다. 이러한 트레잇은 기능이 Matter SDK와 Google Home 생태계 간에 분할된 smart home 트레잇의 격차를 해소합니다. 이에 관한 구체적인 예는 Cloud-to-cloud에서 가져왔지만 아직 Matter 아날로그가 없는 Google* 기기 유형입니다.

기기 유형은 Matter 또는 Cloud-to-cloud 소스 중 하나 또는 둘 다의 트레잇으로 구성됩니다.

예를 들어 팬 기기 유형은 둘 다로 구성되며 두 가지 FanControl 트레잇을 갖습니다.

  • FanControl Matter 트레잇은 Matter FanControl 트레잇의 모든 기능을 제공합니다.
  • ExtendedFanControl Google 트레잇은 FanControl Matter 트레잇에서 다루지 않는 Google smart home FanSpeed 트레잇의 모든 기능을 제공합니다.

이 유형의 트레잇 컴포지션은 기본 smart home 데이터 모델을 추상화하여 전체 기기 유형 기능을 위한 유연한 모델을 제공합니다.