Kullanım kolaylığı için bazı özelliklerin basitleştirilmiş sürümleri Android'de Automation API ile kullanılabilir.
Basitleştirilmiş bir özellik, cephe deseni ile benzer şekilde standart bir Home 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, ilgili 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 ayara sahip tüm cihazlarda kullanılabilen genel bir özelliktir.
Brightness, LevelControl yerine geçen ve yalnızca 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 sahiptir. LevelControl ise çoğu, daha geniş bir kullanım alanı yelpazesine uyum sağlamak için en az dört parametreye sahip olan birden fazla move komutuna sahiptir.
Aşağıdaki tabloda, her 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ş özelliklerin yanı sıra temel standart özelliklerini de raporlar. Örneğin, yapıda bir DimmableLight cihazı varsa ve geliştirici FactoryRegistry içinde hem LevelControl hem de Brightness özelliklerini kaydettiyse Discovery API, her iki özelliğin de bulunduğ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) }