Kullanım kolaylığı için bazı özelliklerin basitleştirilmiş sürümleri, Android'de Automation API ile kullanılabilir.
Basitleştirilmiş özellik, facade kalıbının işleyiş şekline benzer şekilde standart bir Home API özelliğinin yerini alır. Basitleştirilmiş özellikler, belirli cihaz türleri için yaygın görevleri kolaylaştıran komutlar sağlar. Basitleştirilmiş özellikler, Home API özellikleridir ve diğer Home API özellikleri gibi hem Matter hem de Cloud-to-cloud cihazlarda çalışır.
Basitleştirilmiş özellik, ilgili standart özelliğe kıyasla daha cihaza özel olan alternatif bir özellik ve komut alt kümesi sunar.
Örneğin, standart LevelControl özelliği, bir dizi sayısal değer arasında sürekli olarak değişen bir ayara sahip tüm cihazlar için kullanılabilen genel bir özelliktir.
Brightness, LevelControl yerine geçen ve yalnızca bir DimmableLight cihazının gerektirdiği komutları ve özellikleri sağlayan basitleştirilmiş bir özelliktir. Brightness, tek bir brightnessPercent bağımsız değişkeni alan bir moveToBrightness komutuna sahipken LevelControl, daha geniş bir kullanım alanı yelpazesine uyum sağlamak için çoğu en az dört parametreye sahip birden fazla move komutuna sahiptir.
Aşağıdaki tabloda her bir basitleştirilmiş özellik ve temel standart özellikler gösterilmektedir. Her özellik adı, ilgili API dokümanlarına bağlantı verir:
| Basitleştirilmiş özellik | Standart özellik |
|---|---|
SimplifiedThermostat
|
Thermostat
|
Brightness
|
LevelControl
|
SimplifiedOnOff
|
OnOff
|
Volume
|
LevelControlOnOff
|
Basitleştirilmiş özellikler ve Discovery API
Discovery API, her iki özellik de FactoryRegistry'da kayıtlı olduğu sürece basitleştirilmiş özellikleri ve bunların temel standart özelliklerini bildirir. Örneğin, yapıda bir DimmableLight cihazı varsa ve geliştirici, FactoryRegistry'da hem LevelControl hem de Brightness özelliklerini kaydettiyse Discovery API her iki özelliğin de mevcut olduğunu gösterir. Geliştirici, otomasyonunda her iki özelliği de kullanmayı seçebilir.
Daha fazla bilgi için Android'de Discovery API başlıklı makaleyi inceleyin.
Basitleştirilmiş bir özelliği destekleyen cihazları alma
Device API'yi kullanarak bir yapıda SimplifiedThermostat gibi basitleştirilmiş bir özelliği destekleyen cihazları alırken has(trait) yöntemini kullanamazsınız. Bunun yerine has(deviceType) yöntemini kullanın:
val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }