Android의 데이터 모델

Android용 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 아날로그보다 우선합니다.

기기 유형 및 특성 목록은 Android에서 지원되는 기기 유형을 참고하세요.

특성

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

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

예를 들어 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 특성 지원을 참고하세요.

기기 유형 구성

홈 API는 대부분의 Matter 애플리케이션 클러스터를 데이터 모델의 특성으로 지원합니다. 기기 제어 또는 상태에 해당하지 않고 바인딩, 그룹과 같이 최종 사용자에게 유용성을 제공하지 않는 특성은 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의 하나 또는 두 소스의 특성으로 구성됩니다.

예를 들어 팬 기기 유형은 두 가지 모두로 구성되며 다음과 같은 세 가지 특성이 있습니다.

  • Identify Matter 특성은 Matter Identify의 모든 기능을 제공합니다.
  • FanControl Matter 특성은 Matter FanControl 특성의 모든 기능을 제공합니다.
  • ExtendedFanControl Google 특성은 FanControl Matter 특성으로 처리되지 않는 Google smart home FanSpeed 특성의 모든 기능을 제공합니다.

이러한 유형의 특성 구성은 기본 smart home 데이터 모델을 추상화하여 완전한 기기 유형 기능을 위한 유연한 모델을 제공합니다.