Android용 Home API는 Google Home 생태계의 모든 기기를 통합 데이터 모델로 제공합니다. 이 데이터 모델은 기본 스마트 홈 기술 (예: Matter 또는 Cloud-to-cloud)과 관계없이 모든 유형의 기기 (Google Nest 또는 서드 파티 제조업체의 기기)를 포괄하며 smart home 및 모바일 앱 개발자 모두를 위한 사용자 환경을 빌드하는 공통 API 노출 영역을 제공합니다.
기기 유형
Home API에 표시되는 기기 유형은 Matter 및 Cloud-to-cloud 데이터 모델의 통합입니다. 일부는 Matter에서 직접 파생되고, 일부는 Matter 기기 유형의 확장이며, 일부는 Cloud-to-cloud에서 파생됩니다.
기기 유형에는 기기를 제어하고 관리하는 데 사용되는 특성이 포함되어 있습니다. 기기 유형과 마찬가지로 특성은 Matter 클러스터 및 Cloud-to-cloud 특성에서 파생되며 Matter 클러스터와 유사한 공통 형식으로 표시됩니다. Home API에서 Matter-파생된 특성은 클러스터가 아닌 특성이라고 합니다.
따라서 Home API의 기기 유형 및 특성은 Matter-우선하도록 설계되었습니다. Matter 기기 유형 또는 특성은 Cloud-to-cloud 아날로그보다 우선 적용됩니다.
기기 유형 및 특성 목록은 Android의 지원되는 기기 유형 을 참고하세요.
특성
특성의 Kotlin 버전은 Home API에서 사용하기 위해 생성되며 Matter 또는 Cloud-to-cloud에서 찾을 수 없는 Home API에만 해당하는 추가 기능이 포함되어 있습니다. 예를 들어 각 특성에는 특성이 특정 속성 또는 명령어를 지원하는지 확인하는 메서드가 있습니다. 기기 유형의 모든 기기에 동일한 기능이 있는 것은 아니므로 사용자 기기에서 상태 읽기 또는 특정 작업을 실행할 수 있는지 확인하는 데 유용합니다.
각 특성은 자체 네임스페이스에 포함되어 있으며 사용하려면 개별적으로 가져와야 합니다.
예를 들어 Matter On/Off 특성 및 On/Off 플러그인 단위 기기 유형을 사용하려면 다음 패키지를 애플리케이션으로 가져옵니다.
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의 올바른 패키지 이름을 확인하려면 참조를 확인하세요.
대부분의 특성은 자동화와 함께 사용하도록 지원되며 일부 특성은 자동화에 만 사용할 수 있습니다. 자세한 내용은 Android의 자동화 API 특성 지원 을 참고하세요.
기기 유형 구성
Home API는 대부분의 Matter 애플리케이션 클러스터를 데이터 모델의 특성으로 지원합니다. 기기 제어 또는 상태에 상응하지 않고 최종 사용자에게 유틸리티를 제공하지 않는 특성(예: 결합 및 그룹)은 Home API를 통해 노출되지 않습니다.
Cloud-to-cloud 스마트 홈 특성에서 파생된 특성은 일반적으로 OpenClose 예와 같이 Cloud-to-cloud와 Home API 간에 이름이 동일합니다. 다른 특성은
Matter 특성의 확장 프로그램으로 표시되며, Matter
제조업체별 확장 프로그램을 사용하여 생성됩니다. 이러한 특성은 기능이
smart home SDK와 Google Home 생태계 간에 분할되는
Matter 특성의 격차를 해소합니다. 이러한 특성의 구체적인
예는Google* 기기 유형입니다. 이 기기 유형은
Cloud-to-cloud에서 제공되지만 아직 Matter 아날로그가 없습니다.
기기 유형은 하나 또는 두 소스의 특성으로 구성됩니다. Matter 또는 Cloud-to-cloud.
예를 들어 팬 기기 유형은 둘 다로 구성되며 세 가지 특성이 있습니다.
IdentifyMatter 특성은 MatterIdentify의 모든 기능을 제공합니다.FanControlMatter 특성은 MatterFanControl특성의 모든 기능을 제공합니다.ExtendedFanControlGoogle 특성은 Google smart homeFanSpeed특성으로 처리되지 않는FanControlMatter 특성의 모든 기능을 제공합니다.
이러한 유형의 특성 구성은 기본 smart home 데이터 모델을 추상화하여 완전한 기기 유형 기능을 위한 유연한 모델을 제공합니다.