Kullanım kolaylığı için bazı özelliklerin basitleştirilmiş sürümleri Android'de Automation API ile kullanılabilir.
Basitleştirilmiş bir özellik, hafif bileşen deseni gibi standart bir Ana Sayfa API özelliği yerine kullanılır. Basitleştirilmiş özellikler, belirli cihaz türlerinde 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, karşılık gelen standart özelliğe kıyasla daha cihaza özgü 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 ayarı olan herhangi bir cihaz için kullanılabilen genel bir özelliktir. Brightness, LevelControl yerine geçen ve yalnızca bir DimmableLight cihazının ihtiyaç duyduğu 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 olan 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 belgelerine bağlanır:
| 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'ye kaydedildiği sürece basitleştirilmiş özellikleri ve bunların temelindeki standart özellikleri bildirir. Örneğin, yapıda bir DimmableLight cihaz varsa ve geliştirici hem FactoryRegistry'deki LevelControl hem de Brightness özelliklerini kaydettiyse Discovery API, her iki özelliğin de mevcut olduğunu belirtir. Geliştirici, otomasyonunda bu özelliklerden birini kullanmayı tercih edebilir.
Daha fazla bilgi için Android'de Discovery API başlıklı makaleyi inceleyin.
Basitleştirilmiş bir özelliği destekleyen cihazı alma
SimplifiedThermostat gibi basitleştirilmiş bir özelliği destekleyen bir yapıda cihazları almak için Device API'yi kullanı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) }