iOS용 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 아날로그보다 우선합니다.
기기 유형 및 특성 목록은 iOS에서 지원되는 기기 유형을 참고하세요.
특성
Swift 버전의 특성은 Home API에서 사용하기 위해 생성되며, Home API에 특화된 추가 기능을 포함합니다 (Matter 또는 Cloud-to-cloud에는 없습니다). 예를 들어, 각 특성에는 특성이 특정 속성이나 명령을 지원하는지 확인하는 메서드가 있습니다. 이는 모든 장치 유형에 속하는 모든 장치가 동일한 기능을 갖추고 있을 것으로 기대되지 않기 때문에 사용자 장치에서 상태 읽기나 특정 작업을 수행할 수 있는지 여부를 판별하는 데 유용합니다.
특성과 기기 유형을 가져오려면 GoogleHomeTypes 모듈을 애플리케이션으로 가져옵니다.
import GoogleHomeTypes
또한 특성 및 기기 유형 이름에 typealias를 사용하여 코드를 단축하고 네임스페이스 반복을 방지할 수 있습니다.
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
대부분의 특성은 자동화와 함께 사용할 수 있으며, 일부 특성은 자동화에만 사용할 수 있습니다. 자세한 내용은 Android의 Automation API 특성 지원을 참조하세요.
장치 유형 구성
Home API는 데이터 모델의 특성으로 대부분의 Matter 애플리케이션 클러스터를 지원합니다. 바인딩 및 그룹과 같이 장치 제어나 상태에 해당하지 않고 최종 사용자에게 어떠한 유용성도 제공하지 않는 특성은 홈 API를 통해 노출되지 않습니다.
Cloud-to-cloud 스마트 홈 특성에서 파생된 특성은 일반적으로 Cloud-to-cloud와 Home API 간에 이름이 동일합니다(예: OpenCloseTrait). 다른 것들은 Matter 제조업체별 확장 기능을 사용하여 생성된 Matter 특성의 확장으로 표현됩니다. 이러한 특성은 기능이 Matter SDK와 Google Home 생태계 간에 분할된 smart home 특성의 격차를 해소합니다. 이의 구체적인 예는 Cloud-to-cloud에서 가져오지만 아직 Matter 아날로그가 없는 Google* 기기 유형입니다.
장치 유형은 Matter 또는 Cloud-to-cloud 중 하나 또는 두 소스의 특성으로 구성됩니다.
예를 들어 FanDeviceType은 다음과 같이 구성되며 세 가지 특성을 갖습니다.
IdentifyTraitMatter 특성은 MatterIdentifyTrait의 모든 기능을 제공합니다.FanControlTraitMatter 특성은 MatterFanControlTrait의 모든 기능을 제공합니다.ExtendedFanControlTraitGoogle 특성은FanControlTraitMatter 특성에서 다루지 않는 Google smart homeFanSpeedTrait의 모든 기능을 제공합니다.
이러한 특성 구성은 기본 smart home 데이터 모델을 추상화하여 완전한 기기 유형 기능을 위한 유연한 모델을 제공합니다.