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<0xx0A>ö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 kullanılan basitleştirilmiş bir özelliktir ve yalnızca DimmableLight cihazının ihtiyaç duyduğu komutları ve özellikleri sağlar. Brightness, tek bir brightnessPercent bağımsız değişkeni alan bir moveToBrightness komutuna sahipken LevelControl, ç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 alınan 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ı makaleye bakın.
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) }