단순화된 특성

사용 편의를 위해 일부 트레잇의 간소화된 버전을 Automation API와 함께 사용할 수 있습니다.

단순화된 트레잇은 퍼사드 패턴의 작동 방식과 마찬가지로 표준 Home API 트레잇을 대신합니다. 간소화된 트레잇은 특정 기기 유형에서 일반적인 작업을 더 쉽게 할 수 있는 명령을 제공합니다. 단순화된 트레잇은 Home API 트레잇이며 다른 Home API 트레잇과 마찬가지로 MatterCloud-to-cloud 기기에서 모두 작동합니다.

단순화된 트레잇은 상응하는 표준 트레잇의 속성과 명령어보다 기기별로 더 적합한 대체 하위 집합을 제공합니다. 예를 들어 표준 LevelControl 트레잇은 숫자 값 범위에서 연속적으로 변하는 설정이 있는 모든 기기에 사용할 수 있는 일반 트레잇입니다. BrightnessLevelControl를 대신하는 단순화된 트레잇으로, DimmableLight 기기에 필요한 명령어와 속성만 제공합니다. Brightness에는 단일 brightnessPercent 인수를 사용하는 moveToBrightness 명령어가 있는 반면 LevelControl에는 여러 move 명령어가 있으며, 대부분의 명령어에는 더 광범위한 사용 사례를 수용하기 위해 4개 이상의 매개변수가 있습니다.

다음 표에는 각 단순화된 트레잇과 기본 표준 트레잇이 나와 있습니다. 각 트레잇 이름은 해당 API 문서로 연결됩니다.

표: 간소화된 트레잇
단순화된 트레잇 표준 트레잇
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

간소화된 트레잇 및 Discovery API

Discovery API는 두 트레잇이 모두 FactoryRegistry에 등록된 경우 간소화된 트레잇과 기본 표준 트레잇을 모두 보고합니다. 예를 들어 DimmableLight 기기가 구조에 있고 개발자가 FactoryRegistryLevelControlBrightness 트레잇을 모두 등록한 경우 Discovery API는 두 트레잇이 모두 있음을 나타냅니다. 개발자는 자동화에서 두 트레잇 중 하나를 사용할 수 있습니다.

자세한 내용은 Discovery API를 참고하세요.

간소화된 트레잇을 지원하는 기기 검색

Device API를 사용하여 SimplifiedThermostat와 같은 단순화된 트레잇을 지원하는 구조에서 기기를 가져오는 경우 has(trait) 메서드를 사용할 수 없습니다. 대신 has(deviceType) 메서드를 사용하세요.

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }